在如下所示的交互式会话中:
>>> f=open('test.txt','w')
>>> f
<open file 'test.txt', mode 'w' at 0x6e610>
0x6e610代表什么?在Python中我可以用这个十六进制数做什么?
>>> f=open('test.txt')
>>> f
<open file 'test.txt', mode 'r' at 0x10047c938>
>>> hex(id(f))
'0x10047c938'
看看官方文档中的id:
返回对象的“身份”。这是一个整数(或长整数),保证该对象在其生命周期内是唯一且恒定的。具有不重叠生命周期的两个对象可能具有相同的 id() 值。
它是对象的 ID,(在标准 Python 中)是它在内存中的地址。
您也可以通过
id(obj)
功能获取。
您可以使用 ID 来判断两个引用是否引用同一个对象 - 当您在 Python 中说
if x is y
时,您正在比较 ID。