我(也许是错误地)认为is
运营商正在做 id() 比较。
>>> x = 10
>>> y = 10
>>> id(x)
1815480092
>>> id(y)
1815480092
>>> x is y
True
然而,有了val is not None
,似乎没那么简单。
>>> id(not None)
2001680
>>> id(None)
2053536
>>> val = 10
>>> id(val)
1815480092
>>> val is not None
True
那么,'is' 操作符是做什么的呢?只是我猜想的对象ID比较吗?如果是这样,val is not None
在 Python 中被解释为not (val is None)
?