为什么二进制文字中需要前导0,例如'0b10101000'?

Ali*_*ice 1 python

我感到困惑的领导00b10101000:

它似乎不是一个标志符号.

In [1]: bin(168)
Out[1]: '0b10101000'

In [2]: int(bin(168), 2)
Out[2]: 168
Run Code Online (Sandbox Code Playgroud)

我认为它应该足够了,而且说肯定会更简洁b10101000.

为什么0需要领先?

Pri*_*usa 7

不要将二进制文字与变量混淆.

您可以在任何基数(0b - >二进制,0x - >十六进制)中将数字表示为文字:

0b100
>>>4

0x100
>>>256
Run Code Online (Sandbox Code Playgroud)

当没有前导时,问题就出现了.Python对变量的命名约定是它必须以字母字符开头.使用前导0,解释器可以判断它是文字还是变量.