美文网首页
7-2 ==和is的区别

7-2 ==和is的区别

作者: 正在努力ing | 来源:发表于2018-08-26 15:33 被阅读0次
a = [1,2,3,4,5]
b = [1,2,3,4,5]

print(a == b)
print(id(a),id(b))
print(a is b)
True
80019848 80019272
False

观察a和b 的内存地址值 80019848 ; 80019272
虽然a和b的数值是相同的,但是这两个数据开辟的内存地址是不一样的,所以这两个数据不是同一个数据

但是有例外:

在Python中有一个intern 机制,把一定小的范围的数设为全局唯一

class Person:
    pass

person = Person()

if type(person) is Person:
    print("yes")
yes

此时Person类全局唯一

相关文章

网友评论

      本文标题:7-2 ==和is的区别

      本文链接:https://www.haomeiwen.com/subject/bieoiftx.html