id()是python的内置函数,用于返回对象的内存地址

In [32]: var1 = 5In [33]: var2 =var1In [34]: id(var1)Out[34]: 140725209405216In [35]: id(var2)Out[35]: 140725209405216
上面代码中var1变量名引用指向了5这个对象,var2和var1同时指向了5,通过id函数查看对象的内存地址
>>> a=1>>> id(a)140725209405088>>> b=3>>> id(b)140725209405152>>> c=5>>> id(c)140725209405216>>> d=5>>> id(d)140725209405216 #c和d变量指向同一块内存区域value是5#比较c和d变量的值是否相等,返回bool值>>> c==dTrue#比较c和d变量引用所指向的内存地址是否相等>>> c is dTrue
>>> e=9999999>>> id(e)2372337564080>>> f=9999999>>> id(f)2372337564048>>> e==fTrue>>> e is fFalse
由运行结果可知:
1、Python缓存了整数和短字符串,因此每个对象在内存中只存有一份,引用所指对象就是相同的,即使使用赋值语句,也只是创造新的引用,而不是对象本身;
2、Python没有缓存长字符串、列表及其他对象,可以由多个相同的对象,可以使用赋值语句创建出新的对象。
