双等于vs是在Python中
我在Python解释器中运行以下代码:
>>> foo = 10 >>> dir(foo) == dir(10) True >>> dir(foo) is dir(10) False >>>
为什么是这样?
is
检查2个参数引用同一个对象, ==
检查2个参数是否具有相同的值。 dir()
返回一个包含foo
和10
的相同数据的list
,但是这两个事物的实际list
实例是不同的。
我在Python解释器中运行以下代码:
>>> foo = 10 >>> dir(foo) == dir(10) True >>> dir(foo) is dir(10) False >>>
为什么是这样?
is
检查2个参数引用同一个对象, ==
检查2个参数是否具有相同的值。 dir()
返回一个包含foo
和10
的相同数据的list
,但是这两个事物的实际list
实例是不同的。