真 - 虚假的困境

时间:2014-05-07 11:06:13

标签: python variables python-2.7 boolean

我无法理解这里发生了什么?

True = False
False = True
print True, False

输出

False False

输出是否打印为False True

3 个答案:

答案 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中作为TrueFalse更改为关键字,以便分配给那些不可能的关键字。

请参阅核心语言变更:

  

制作TrueFalse个关键字。 [6]

Reason: make assignment to them impossible.

答案 2 :(得分:1)

执行True = False后,True不再是布尔值,而是已赋予布尔值False的变量。因此,行False = True实际上是将True的值(False)分配给变量 False