双等于vs在python中

2022-01-19 00:00:00 python comparison boolean equality equals

问题描述

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

I run the following in the Python interpreter:

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

这是为什么?


解决方案

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

is checks that 2 arguments refer to the same object, == checks that 2 arguments have the same value. dir() returns a list which contains the same data for both foo and 10, but the actual list instances for the 2 things are different.

相关文章