96

我在 Python 解释器中运行以下命令:

>>> foo = 10
>>> dir(foo) == dir(10)
True
>>> dir(foo) is dir(10)
False
>>> 

为什么是这样?

4

1 回答 1

165

is检查 2 个参数是否引用同一个对象,==检查 2 个参数是否具有相同的值。 dir()返回 a list,其中包含 和 的相同数据,但这两foo件事10的实际list实例不同。

于 2013-02-21T17:18:49.477 回答