Python中的双等号与is的区别
我在Python解释器中运行了以下代码:
>>> foo = 10
>>> dir(foo) == dir(10)
True
>>> dir(foo) is dir(10)
False
>>>
这是为什么呢?
1 个回答
165
is
用来检查两个参数是否指向同一个对象,而 ==
则用来检查两个参数的值是否相同。dir()
会返回一个 list
,这个列表包含了 foo
和 10
的相同数据,但这两个东西的实际 list
实例是不同的。