小知识点补充:小数据池、==、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以后都是两个地址)
其他数据类型 则没有小数据池概念
数字的内存地址:
字符串的内存地址: