在python里,为什么p is None比p==None 要快
答案:1 悬赏:80 手机版
解决时间 2021-03-15 08:45
- 提问者网友:练爱
- 2021-03-14 08:21
在python里,为什么p is None比p==None 要快
最佳答案
- 五星知识达人网友:洒脱疯子
- 2021-03-14 09:48
在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语言中的指针,只有地址相同的指针才是同一个指针.
例如:
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语言中的指针,只有地址相同的指针才是同一个指针.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯