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