在python里,为什么p is None比p==None 要快

如题所述

在python中,is检查两个对象是否是同一个对象,而==检查他们是否相等.
例如:

p = [1]
q = [1]
p is q # False å› ä¸ºä»–们不是同一个对象
p == q # True å› ä¸ºä»–们的值相等

但是有且仅有一个None,他们总是相同的,所以会返回True.

p = None
q = None
p is q # True å› ä¸ºä»–们都指向同一个"None"
a='test'
b=a
c=a
b is c #True å› ä¸ºä»–们都指向相同的对象a

所以如果你要比较两个值是否相同就用==,如果比较是否是同一个对象就用is.
其实python中的is比较的对象很像C语言中的指针,只有地址相同的指针才是同一个指针.

         

温馨提示:答案为网友推荐,仅供参考
相似回答