hor*_*rta 90 python boolean python-2.x
所以,我想"恶"的东西奈德Deily在他的回答中提到这里.现在我认为类型True现在总是为假.如何在交互式窗口中反转此操作?
不要这样做:
True = False
Run Code Online (Sandbox Code Playgroud)
由于True现在已被False完全覆盖,因此似乎没有明显的回溯方式.是否存在True来自的模块,我可以执行以下操作:
True = <'module'>.True
Run Code Online (Sandbox Code Playgroud)
iCo*_*dez 138
您可以只使用del
自定义名称将其设置回默认值:
>>> True = False
>>> True
False
>>> del True
>>> True
True
>>>
Run Code Online (Sandbox Code Playgroud)
101*_*101 48
这有效:
>>> True = False
>>> True
False
>>> True = not False
>>> True
True
Run Code Online (Sandbox Code Playgroud)
但是如果False
也被摆弄也失败了.因此这更好:
>>> True = not None
Run Code Online (Sandbox Code Playgroud)
因为None
无法重新分配.
这些也评价到True
,无论是否True
已重新分配至False
,5
,'foo'
,None
,等:
>>> True = True == True # fails if True = float('nan')
>>> True = True is True
>>> True = not True or not not True
>>> True = not not True if True else not True
>>> True = not 0
Run Code Online (Sandbox Code Playgroud)
sim*_*nwo 17
为了完整性:凯文提到你也可以True
从中获取真实__builtins__
:
>>> True = False
>>> True
False
>>> True = __builtins__.True
>>> True
True
Run Code Online (Sandbox Code Playgroud)
但这True
也可以覆盖:
>>> __builtins__.True = False
>>> __builtins__.True
False
Run Code Online (Sandbox Code Playgroud)
最好选择其中一个选项.
Loo*_*vjo 12
这样做:
True = bool(1)
Run Code Online (Sandbox Code Playgroud)
或者,因为布尔值基本上是整数:
True = 1
Run Code Online (Sandbox Code Playgroud)