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

时间:2010-03-31 22:04:49

标签: python core

在如下的交互式会话中:

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

0x6e610 表示什么,我可以用Python中的十六进制数字做什么?

2 个答案:

答案 0 :(得分:5)

>>> f=open('test.txt')
>>> f
<open file 'test.txt', mode 'r' at 0x10047c938>
>>> hex(id(f))
'0x10047c938'

查看id in the official documentation

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

答案 1 :(得分:3)

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

您也可以通过id(obj)功能获取它。

您可以使用ID来判断两个引用是否引用同一个对象 - 当您在Python中说if x is y时,您正在比较ID。