python - 热切地评估 Python 中的 bool 表达式

标签 python exception lazy-evaluation eager

有没有办法(使用 eval 或其他)在 python 中评估急切的 bool 表达式?

让我们看看这个:

>>> x = 3
>>> 5 < x < y
False

哎呀!这非常好,因为无论 y 的值如何,这都是错误的。问题是,y 甚至可以是未定义的,我想获得该异常。即使 python 事先知道结果,我如何才能让 python 计算所有表达式?

希望我说清楚了!谢谢,
曼纽尔

编辑:请记住,不能修改表达式,只能修改求值技术。

最佳答案

(5 < x) & (x < y)

通过使用位与运算符 &,您不会出现短路行为(与使用 andor 时一样,链接,所有/任何)。短路通常被认为是可取的(快速 &c),但如果你真的想要,没有它也不难做到;-)。

关于python - 热切地评估 Python 中的 bool 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2271017/

相关文章:

python - 生成带有约束的大量(可能 30)的排列

Python:输入接受整数但在字符串上崩溃

Python:将运行时错误显示并记录到控制台和日志文件

c# - 将 C++ .dll 函数用于 C# 时出现 BadImageFormatException 错误?

java - 我可以使用捕获的异常绕数组移动一圈吗?

scala - 尝试让惰性评估适用于无限流

python - 无法使用字典中的函数

python - 如何让 PyC​​harm 显示来自 pytest 的整个错误差异?

python - 为什么这个 lambda 函数比 for 循环版本更懒?

r - 在自定义 dplyr 函数中更改结果变量的名称