您的位置:首页 > 编程语言 > Python开发

Python自学之is和‘==’的区别

2017-02-12 16:58 281 查看
在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语言中的指针,只有地址相同的指针才是同一个指针,也就是说当目的地址相同时is会表示两者相同,而==仅仅是判数值上的相等,而地址可以是不一致的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python