根据我的知识,我总是记得布尔值是" 0" &false为" 1"。 但是当来到python时,
如果(0): 打印("真&#34)
输出是 无
有谁能告诉我这些值究竟是什么?
答案 0 :(得分:0)
您可以在控制台中运行它......:
In [1]: True == 1
Out[1]: True
In [2]: False == 0
Out[2]: True
或
In [1]: int(True)
Out[1]: 1
In [2]: int(False)
Out[2]: 0
答案 1 :(得分:0)
在大多数语言中,如果True或False支持转换它们,则它们分别映射到1和0。 Python是其中一种语言(其他语言是PHP,ruby等)。某些语言(如Haskell或其他语言)将它们定义为无法转换的单独值,因此您不应依赖于基础表示。
您可以通过将True
或False
投放到int
$ python
> int(True)
1
> int(False)
0
你对0的看法很可能来自C / C ++。 C最初没有boolean
值。因此人们返回整数。这些整数也编码错误值。为了得到多个错误值,你会说0是“一切正常”(= true),1或以上是不同的错误值。请注意,这些约定支持两种以上的状态(与布尔值不同)。