gpt4 book ai didi

python - 在 Python 中, 'x or False' 和 'False and x 有什么意义?

转载 作者:行者123 更新时间:2023-11-28 20:39:40 24 4
gpt4 key购买 nike

我正在使用 web2py,我一直在查看源代码以获取一些更好的理解。我多次看到像这样的作业

# in file appadmin.py
is_gae = request.env.web2py_runtime_gae or False

如果 request.env.web2py_runtime_gae 为 true,则 False 无关紧要。无论哪种方式,如果 request.env.web2py_runtime_gae 为 false,表达式都会变为 false。

还有:

# in file appadmin.py
if False and request.tickets_db:
from gluon.restricted import TicketStorage

永远不会评估 and 子句的第二部分,因为 False and x 总是返回 false。

那么为什么会有人做这样的事情呢?

最佳答案

与您假设的不太一样。 python evaluates conditions lazily ,因此如果已知该值满足条件,则评估退出。看这个例子:

>>> None or False
False
>>> True or False
True
>>> 0 or False
False
>>> 'Value' or False
'Value'

第二个,根据 lazy evaluation , 只会在该语句上返回 False 并且不会评估其余语句。这可以是一种无条件禁用该 if 语句的方法。

关于python - 在 Python 中, 'x or False' 和 'False and x 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37413066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com