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类全局唯一
网友评论