我无法理解这里发生了什么?
True = False
False = True
print True, False
False False
输出是否打印为False True
?
答案 0 :(得分:8)
您正在设置True = False
,,然后 False = True
。
True = False
False = True # But "True" here is now False.
print True, False # True = False, because of the first line. As does False, because you set it equal to "True" which you have already made == False.
我不知道为什么你会想要这样做,除了弄乱别人的代码,因为它是一个可读性的噩梦 - 你可以从使用的困难中看到用词来解释它。
如果您真的想要更换周围的vaules,请执行:
True, False = False, True
答案 1 :(得分:3)
您似乎正在使用Python 2.
这不会在Python 3中作为True
和False
更改为关键字,以便分配给那些不可能的关键字。
请参阅核心语言变更:
制作
True
和False
个关键字。 [6]Reason: make assignment to them impossible.
答案 2 :(得分:1)
执行True = False
后,True
不再是布尔值,而是已赋予布尔值False
的变量。因此,行False = True
实际上是将True
的值(False
)分配给变量 False
。