Skip to main content
 首页 » 编程设计

python之为什么 python 允许覆盖内置常量

2025年05月04日13tuyile006

虽然True,False 是builtin constants , 以下内容在 Python 中是允许的。

>>> True = False 
>>> a = True 
>>> b = False 
>>> print a,b 
False False 

关于为什么允许这样做的任何引用?

编辑:这只发生在 Python 2.x 中(正如所有指出的那样)。

请您参考如下方法:

我认为 "We're all consenting adults here" 的 python 意识形态也适用于此。 Python 没有私有(private)类成员,因为没有真正充分的理由阻止用户弄乱某些东西......如果他们四处寻找他们不理解的东西,那么当代码中断时他们会得到他们应得的东西.重新分配内置函数的能力也是如此......

list = tuple 

请注意,您询问的情况在 python 3.x 中被明确禁止,但您仍然可以分配给内置函数 ...

>>> True = False 
  File "<stdin>", line 1 
SyntaxError: assignment to keyword 
>>> list = tuple