我对0b10101000
中的主要0
感到困惑
它似乎不是一个符号符号。
In [1]: bin(168)
Out[1]: '0b10101000'
In [2]: int(bin(168), 2)
Out[2]: 168
我认为这应该是足够的,而且肯定会更简洁,比如说b10101000
。
为什么需要领先的0
?
发布于 2019-01-10 10:45:36
这不是为了混淆二进制文字和变量。
您可以将数字表示为任意基数的文字(例如0b ->二进制,0x ->十六进制):
0b100
>>>4
0x100
>>>256
当没有前导0时,问题就出现了。Python对变量的命名约定是它必须以字母字符开头。有了前导0,解释器就可以判断它是文字还是变量。
发布于 2019-01-10 10:44:42
这样会更简洁,但是如果在代码中使用b10101000
,Python会将其解释为变量名,而将0b10101000
解释为二进制数。
如果Python向您表示值的方式与它期望您在编写的代码中向它表示值的方式不同,这将会令人困惑(对于您,程序员来说)。
发布于 2019-01-10 10:43:02
为什么必须使用def
而不是df
,或者使用class
而不是cls
?这就是语言语法所规定的。它是由语言设计强制执行的。
https://stackoverflow.com/questions/54121237
复制相似问题