gpt4 book ai didi

python - "None not in"与 "not None in"

转载 作者:太空狗 更新时间:2023-10-29 22:03:15 30 4
gpt4 key购买 nike

除非我疯了 if None not in xif not None in x 是等价的。有首选版本吗?我想 None not in 更像英语,因此更像 pythonic,但 not None in 更像是其他语言的语法。有首选版本吗?

最佳答案

它们编译成相同的字节码,所以是的,它们是等价的。

>>> import dis
>>> dis.dis(lambda: None not in x)
1 0 LOAD_CONST 0 (None)
3 LOAD_GLOBAL 1 (x)
6 COMPARE_OP 7 (not in)
9 RETURN_VALUE
>>> dis.dis(lambda: not None in x)
1 0 LOAD_CONST 0 (None)
3 LOAD_GLOBAL 1 (x)
6 COMPARE_OP 7 (not in)
9 RETURN_VALUE

documentation也明确了两者是等价的:

x not in s returns the negation of x in s.

正如您提到的 None not in x 是更自然的英语,所以我更喜欢使用它。

如果你写 not y in x 你可能不清楚你的意思是 not (y in x) 还是 (not y) in x。如果使用 not in 就没有歧义。

关于python - "None not in"与 "not None in",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3604222/

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