小知识点补充:小数据池、==、is、id

1、id(obj) 用于获取对象的内存地址
name = 'alex'
print(id(name))     #2398210474200

li = [1,2,3]
print(id(li))       #2398211309512
 
2、obj1  is  obj2 比较判断两个对象是否相同,id做为判断因素
   obj1 == obj2 用来比较两个对象是否相等,value做为判断因素 
name1 = 'alex@'
name2 = 'alex@'

#在IDE编辑器下得到的结果
print(name1 == name2)   #True
print(name1 is name2)   #True

在Python环境下得到的结果

3、小数据池(只有数字int 和 字符串str 才有)

int:-5 ~ 256 当数字在这个范围内时,只要变量的值相同,都会指向同一个内存地址
str:如果是全部由字母组成的字符串 都是指向一个内存地址
注:如果是数字与str(单个字母)相乘,则20以内(包含20)的是同一个内存地址(1、不能有特殊字符  2、s*20 还是同一个地址,s*21以后都是两个地址)
  其他数据类型 则没有小数据池概念

 

数字的内存地址:

    

 字符串的内存地址:

  

原文地址:https://www.cnblogs.com/lioushell/p/8361576.html