Python 0';正在跳过开头的&;I';I’我不知道怎么修

Python 0';正在跳过开头的&;I';I’我不知道怎么修,python,binary,Python,Binary,输出值开头不包括0,有人能帮我解决这个问题吗 def bitwiseOR(P, Q): return bin(P | Q) bitwiseOR(0b01010111, 0b00111000) 前导零仅用于表示,因此您可以根据需要使用它们来显示: 格式字符串: #包括0b前缀 0{length}填充前导零,因此总长度为length 前导零是您生成的字符串的属性,而不是数字。因此,例如,如果您正在寻找一种使以下两个调用产生不同结果的方法,那么这是不可能的:1 但是,如果可以单独提供位数,

输出值开头不包括0,有人能帮我解决这个问题吗

def bitwiseOR(P, Q):
    return bin(P | Q)

bitwiseOR(0b01010111, 0b00111000)

前导零仅用于表示,因此您可以根据需要使用它们来显示:

格式字符串:

  • #
    包括
    0b
    前缀
  • 0{length}
    填充前导零,因此总长度为
    length

  • 前导零是您生成的字符串的属性,而不是数字。因此,例如,如果您正在寻找一种使以下两个调用产生不同结果的方法,那么这是不可能的:1

    但是,如果可以单独提供位数,则可以使用。它接受第二个参数,该参数允许您使用自定义数字的打印方式。根据该规范,您可以打印一个填充有零的数字到给定的宽度,如下所示:

    >>> format(127, '#010b')
    '0b01111111'
    
    这里的代码由四部分组成:

    • #
      表示在开头应用
      0b
      前缀
    • 0
      表示带前导零的焊盘
    • 10
      表示结果字符串的总长度应至少为10个字符
    • b
      表示以二进制打印数字
    您可以调整格式代码以生成所需的字符串长度,甚至可以从变量中获取长度



    1那么。。。从技术上讲,有一种方法可以让Python重新读取自己的源代码,并可能以这种方式产生不同的结果,但这在任何实际程序中都没有用处,只有当您想了解Python解释器的工作原理时,它才有用。

    前导零是一种显示概念,它们不会转换为数值。出于显示目的,前导零通常会被删除,因为A)无法知道最初有多少前导零,B)它们是多余的。谢谢!!!f呢?这到底意味着什么?这意味着我们可以将变量格式化为字符串,这叫做
    def bitwiseOR(P, Q, length=10):
        return format(P | Q, f'#0{length}b')
    
    x = bitwiseOR(0b01010111, 0b00111000)
    # 0b01111111
    print(x)
    
    
    bitwiseOR(0b01010111, 0b00111000)
    bitwiseOR( 0b1010111,   0b111000)
    
    >>> format(127, '#010b')
    '0b01111111'