双等于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实例是不同的。