gpt4 book ai didi

python - `a == b is not None` 是如何解释的?

转载 作者:行者123 更新时间:2023-12-05 09:29:24 24 4
gpt4 key购买 nike

<分区>

在个人项目中,我需要评估两个变量是否相等,但不等于 None。所以条件应该是 True 如果它们都相等 (a=5, b=5),但在其他情况下,或者当它们都是 None (a=None, b=None) 时,它应该是 False

所以我在我的解释器中输入 a == b is not None 并且得到了我想要的行为。

Python 3.9.9 (tags/v3.9.9:ccb0e6a, Nov 15 2021, 18:08:50) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> a = None
>>> b = None
>>> a == b is not None
False
>>> a = 5
>>> a == b is not None
False
>>> b = 5
>>> a == b is not None
True
>>>

但我想仔细检查这是否是预期的行为,因为在条件评估的特殊情况下(比如短语 x is not None 这意味着 not x is None )?或者这可能只是 Python 评估它的正常方式?

因为如果我们正常评估它,我们会首先检查 a == b,然后将其与 is not None 进行比较,这将始终导致 是的,但实际上当我们测试它时,行为是不同的。此外,我在 5 年的 Python 编程中从未见过这种情况,所以我发现它非常罕见,因此我不确定它是否已经记录在案

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