python-内存地址-is

id:内存地址

s = 'alex'
# print(s,type(s))
# print(s,type(s),id(s))
# li = [1,2,3]
# print(li,type(li),id(li))

 is和==:

# s1 = 'alex  '
# s2 = 'alex  '
# print(s1 == s2)
# print(s1 is s2)
is对于int 有一个小数据池 范围:-5---256  创建的相同的数字,都指向同一个内存地址
is对于字符串:字符串也有一个小数据池 如果说字符串中有空格,那指向两个内存地址,其他应该是一个。
is对于列表,字典,元祖和集合set,==比较的是值,is比较的是内存地址
l1 = [1,]
l2 = [1,]
print(l1 == l2)  # True
print(id(l1),id(l2))
print(l1 is l2)  #False
原文地址:https://www.cnblogs.com/dwenwen/p/7749420.html