15

可能重复:
为什么 Python 不能按我的预期处理真/假值?

似乎是一个愚蠢的问题,但为什么 Python 中的以下语句没有明确禁止?

>> True=False
>> True
False

Python解释器如何处理True和处理?False

4

4 回答 4

6

True,就像str或任何其他内置函数一样,只是默认情况下存在于范围内的名称。您可以像任何其他此类名称一样重新绑定它。

于 2012-11-15T16:12:54.850 回答
2
>>> True = False
False

在上面的赋值中,True只是一个变量,就像您使用的任何其他变量一样。它的范围仅限于当前范围。因此,您可以为它分配任何值,如下例所示。请注意,比较2 < 3仍然会打印True,因为您仍然可以访问builtin.

>>> True = 3
>>> True
3
>>> 2 < 3
True
于 2012-11-15T16:17:16.447 回答
2

Python 实际上有很少的保留字。其余的都需要重新定义。你要小心!

于 2012-11-15T16:12:55.350 回答
1

打字

True = False

您创建一个名为 True 的新变量,将其值分配给 False。

回答您的第二个问题,True 和 False 是整数 1 和 0(从技术上讲,是子类)的自定义版本,它们只是具有不同的字符串表示形式。

于 2012-11-15T16:28:57.483 回答