gpt4 book ai didi

python - 为什么 Python 逻辑并不总是计算为 bool 值?

转载 作者:行者123 更新时间:2023-11-28 19:29:35 24 4
gpt4 key购买 nike

<分区>

在 Python 中,我非常习惯使用逻辑运算符 andor 并且我的印象是它们会简单地用左右值求值并且在运行时替换为 TrueFalse

我最近发现不是这样的。考虑:

>>> False or 10
10

我看到了用例。在这里,如果您有一个在失败时返回值或 False 的函数,则上述内容允许您拥有默认的回退值。但是使用:

>>> True and re.match("s", "s")
<_sre.SRE_Match object at 0x19f9098>

这让我感到困惑......似乎总是返回 and 评估的最后一个操作数,其中两个操作数都评估为 True ,这是有道理的,因为它是最后一个一个要运行,但我不明白为什么这比只用一个 bool 更可取。

python为什么要这样做?有没有我没有看到的用例?在您知道需要 bool 值的情况下,转换这些值是个好主意吗?例如:

>>> bool(True and re.match("s", "s"))
True

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