python中实例的地址值和id(实例)的地址值有什么区别?
What is the difference between the address value from instance and the address value from id(instance) in python?
class T:
pass
t = T()
print(t) # <__main__.T object at 0x100651460>
print(id(t)) # 4301591648
上面代码中的0x100651460和4301591648有什么区别? id(t)就是打印对象的地址值大家都知道。然而,<main.T object at 0x100651460> 也意味着 0x100651460 是对象的地址值。哪个才是真正的地址值?
他们是同一个号码。数值上没有区别,唯一不同的是第一个用hexadecimal表示,第二个用十进制表示
>>> hex(4301591648)
'0x100651460'
>>> 0x100651460 == 4301591648
True
前缀0x
通常用于表示十六进制表示。
class T:
pass
t = T()
print(t) # <__main__.T object at 0x100651460>
print(id(t)) # 4301591648
上面代码中的0x100651460和4301591648有什么区别? id(t)就是打印对象的地址值大家都知道。然而,<main.T object at 0x100651460> 也意味着 0x100651460 是对象的地址值。哪个才是真正的地址值?
他们是同一个号码。数值上没有区别,唯一不同的是第一个用hexadecimal表示,第二个用十进制表示
>>> hex(4301591648)
'0x100651460'
>>> 0x100651460 == 4301591648
True
前缀0x
通常用于表示十六进制表示。