Skip to main content
 首页 » 编程设计

python之OR 运算符比较 None 和 bool

2025年05月04日12zhengyun_ustc

<分区>

我在我的一个函数中发现了一个特殊的错误,其中按位比较 OR 的参数顺序似乎很重要:

In: None or False 
Out: False 
 
In: False or None 
Out: None 

使用 Python 2.7.2 和 IPython 0.10.2 进行了检查。

我可以确保,在一个元素为 None 的情况下,确保他是比较的第一个参数,就像这样

if a==None: 
    a or b 
else: 
    b or a 

但是谁能解释一下为什么更改 OR 比较中的顺序会影响输出?这是 Python 特有的吗?

谢谢。