gpt4 book ai didi

python - 'is not' 比较的不当使用导致奇怪的 Python 行为?

转载 作者:行者123 更新时间:2023-11-28 19:41:07 25 4
gpt4 key购买 nike

我(错误地?)在比较中使用了“不是”并发现了这种奇怪的行为:

>>> a = 256
>>> b = int('256')
>>> c = 300
>>> d = int('300')
>>>
>>> a is not b
False
>>> c is not d
True

显然我应该使用:

>>> a != b
False
>>> c != d
False

但由于测试用例的值(value)很小,它工作了很长时间,直到我碰巧使用数字 495。

如果这是无效语法,那为什么呢?我不应该至少得到一个警告吗?

最佳答案

“is”不是检查值是否相等,而是检查两个变量是否指向同一个对象实例。

intstring 对此造成混淆,因为 == 可能碰巧给出由于语言内部的工作方式,结果相同。

关于python - 'is not' 比较的不当使用导致奇怪的 Python 行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3228260/

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