Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么在诸如';0b10101000';?_Python - Fatal编程技术网

Python 为什么在诸如';0b10101000';?

Python 为什么在诸如';0b10101000';?,python,Python,我对0b10101000中的前导0感到困惑: 它似乎不是一个符号 In [1]: bin(168) Out[1]: '0b10101000' In [2]: int(bin(168), 2) Out[2]: 168 我认为这应该足够了,而且肯定会更简洁,可以说b10101000 为什么需要开头的0?为什么必须使用def而不是df或class而不是cls?这就是语言语法规定的。它是由语言设计强制执行的。为什么您必须使用def而不是df或class而不是cls?这就是语言语法规定的。它是由语言设

我对
0b10101000
中的前导
0
感到困惑:

它似乎不是一个符号

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

In [2]: int(bin(168), 2)
Out[2]: 168
我认为这应该足够了,而且肯定会更简洁,可以说
b10101000


为什么需要开头的
0

为什么必须使用
def
而不是
df
class
而不是
cls
?这就是语言语法规定的。它是由语言设计强制执行的。

为什么您必须使用
def
而不是
df
class
而不是
cls
?这就是语言语法规定的。它是由语言设计来实现的。

它会更简洁,但是如果在代码中使用它,Python会将
b10101000
解释为变量名,而将
0b10101000
解释为二进制数


如果Python向您呈现的值与它期望您在编写的代码中向其呈现的值不同,那么(对您,程序员来说)这会让人困惑

它会更简洁,但是如果在代码中使用
b10101000
,Python会将其解释为变量名,而将
0b10101000
解释为二进制数


如果Python向您呈现的值与它期望您在编写的代码中向其呈现的值不同,那么(对您,程序员来说)这会让人困惑

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

您可以将数字表示为任意基数的文字(例如0b->二进制,0x->十六进制):


如果没有前导0,则会出现问题。Python的变量命名约定是必须以字母字符开头。使用前导0,解释器可以判断它是文本还是变量。

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

您可以将数字表示为任意基数的文字(例如0b->二进制,0x->十六进制):


如果没有前导0,则会出现问题。Python的变量命名约定是必须以字母字符开头。使用前导0,口译员可以判断它是文字还是变量。

请参见,参考:“您应该只根据您面临的实际问题提出实际的、可回答的问题”。出于好奇而提出的问题不符合“你所面临的问题”在本网站上的标准……我认为共识/公认答案中的介绍性段落也适用于这个问题:我个人认为这是一个非常酷的问题。这本书写得很好,它探索了一个可能没有被很好理解的语言领域,并且它有可能让人们深入了解这门语言。话虽如此,对于堆栈溢出来说,这不是一个好问题。请参见,参考:“您应该只根据您面临的实际问题提出实际的、可回答的问题”。出于好奇而提出的问题不符合“你所面临的问题”在本网站上的标准……我认为共识/公认答案中的介绍性段落也适用于这个问题:我个人认为这是一个非常酷的问题。这本书写得很好,它探索了一个可能没有被很好理解的语言领域,并且它有可能让人们深入了解这门语言。尽管如此,对于堆栈溢出来说,这不是一个好问题。
0b100
>>>4

0x100
>>>256