print/repr 中显示的十六进制整数代表什么?

问题描述 投票:0回答:2

在如下所示的交互式会话中:

>>> f=open('test.txt','w')
>>> f
<open file 'test.txt', mode 'w' at 0x6e610>

0x6e610代表什么?在Python中我可以用这个十六进制数做什么?

python
2个回答
5
投票
>>> f=open('test.txt')
>>> f
<open file 'test.txt', mode 'r' at 0x10047c938>
>>> hex(id(f))
'0x10047c938'

看看官方文档中的id

返回对象的“身份”。这是一个整数(或长整数),保证该对象在其生命周期内是唯一且恒定的。具有不重叠生命周期的两个对象可能具有相同的 id() 值。


3
投票

它是对象的 ID,(在标准 Python 中)是它在内存中的地址。

您也可以通过

id(obj)
功能获取。

您可以使用 ID 来判断两个引用是否引用同一个对象 - 当您在 Python 中说

if x is y
时,您正在比较 ID。

© www.soinside.com 2019 - 2024. All rights reserved.