令人难以置信的python布尔功能

Ikb*_*ear 1 python boolean python-2.6

>>> a = False
>>> b = False
>>> a | b
True
>>> a
True
>>> b
True
Run Code Online (Sandbox Code Playgroud)

我在python解释器中得到它.

我只是不这么认为.有没有关于python的详细资料boolean type

我使用Python 2.6.6,谢谢!

Dan*_*l G 7

我只能看到一个你的问题有意义的背景:

>>> False = True
>>> a = False
>>> b = False
>>> a | b
True
>>> a
True
>>> b
True
>>> 
Run Code Online (Sandbox Code Playgroud)

开始调试 - 结果是print int(False)什么?如果上面发生了,你应该得到1.尝试:

>>> False = bool(0)
>>> a = False
>>> b = False
>>> a | b
False
Run Code Online (Sandbox Code Playgroud)

至于为什么会发生这种情况 - 也许有人对你起恶作剧并改变了False(看到这个答案)的价值?我真的想不出任何会导致这种情况的事情.你总是可以设置Falsebool(0)在你需要它,谨防这个模块.

或者切换到Python 3,它创建TrueFalse保留无法更改的单词.