可能重复:
Why can’t Python handle true/false values as I expect?
似乎是一个愚蠢的问题,但为什么Python中的以下语句没有被明确禁止?
>> True=False
>> True
False
Python解释器如何处理True
和False
?
答案 0 :(得分:6)
True
,就像str
或任何其他内置函数一样,只是默认情况下存在于作用域中的名称。您可以像任何其他名称一样重新绑定它。
答案 1 :(得分:2)
Python实际上只有很少reserved words。其余所有都需要重新定义。你应该小心谨慎!
答案 2 :(得分:2)
>>> True = False
False
在上面的作业中,True
只是一个变量,就像你使用的任何其他变量一样。
其范围仅限于当前范围。因此,您可以为其分配任何值,如下例所示。请注意,比较2 < 3
仍会打印True
,因为您仍然可以访问builtin
。
>>> True = 3
>>> True
3
>>> 2 < 3
True
答案 3 :(得分:1)
输入
True = False
你创建一个名为True的新变量,你赋值为False。
回答你的第二个问题,True和False是整数1和0的定制版本(技术上讲,子类),只有不同的字符串表示。