为什么下面的代码产生:假假False
而不是:假真正False
def foo(el):
return (el is 0.0)
seq=[0,0.0,False]
for el in seq:
print( foo(el) )
class
命名为A
:class A:
pass
案例1:
x = A() #--> create instance of class A y = A() #--> create instance of class A >>> x is y >>> False
案例2]]
x = A() #--> create instance of class A
y = x #--> here y refers to the instance of x
>>> x is y
>>> True
id()
的内置函数来检查变量的身份,该函数返回对象的身份(内存中对象的地址)。在情况1中
id(x)
不等于id(y)
,因此x is y
返回False
。
id(x)
等于id(y)
,因此x is y
返回True
。