python 或运算符(operator)模块

标签 python operators

<分区>

operator模块中,我们有or_函数,which is the bitwise or (|)。

但是我似乎找不到逻辑或()。

文档 doesn't seem to list it .

我想知道为什么不包括在内?算不算运营商?

是否有提供其行为的内置函数?

最佳答案

or 运算符短路;当左侧表达式返回真值时,右侧表达式不会被计算。这也适用于 运算符;当左侧表达式返回假值时,不对右侧表达式求值。

你不能用一个函数来做到这一点;所有操作数必须在函数被调用之前被评估。因此,operator 模块中没有对应的函数。

比较:

foo = None
result = foo and foo(bar)

foo = None
result = operator.boolean_and(foo, foo(bar))  # hypothetical and implementation

后一个表达式将失败,因为您不能将 None 用作可调用对象。第一个版本有效,因为 and 运算符不会计算 foo(bar) 表达式。

关于python 或运算符(operator)模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22385108/

相关文章:

具有五对的 scala map += 运算符

c++ - 使结构的所有数学运算符都操作同一个成员

python - pip::找不到与 tensorflow-gpu 匹配的分布

python - 使用 Python 提取字符串中字符前的数字

C++地址运算符的用途?

Python 运算符重载

c++ - 重载运算符

python - 在 Python 中精炼因子

c++ - 关闭exe并从内存运行

python - 无法安装pygame包