同一对象

时间:2019-11-21 02:13:03

标签: python class oop object

为什么我为同一个对象获得两个不同的内存地址?

https://i.stack.imgur.com/UPY7p.png

1 个答案:

答案 0 :(得分:2)

  • 您在x类中的__init__应该给出错误。您的代码正在运行,因为您使用的是像syder / jupyter这样的IDE,它们存储了以前运行的代码的结果。如果重新启动IDE并再次运行相同的代码,它将引发错误name 'x' is not defined
  • 如果您要引用x(类的对象),请使用self获得该引用。
>>> class test:
...     def __init__(self, max):
...         print(self, "b")
...
>>> x = test(2)
<__main__.test object at 0x0000016A080052C8> b
>>> print(x,"a")
<__main__.test object at 0x0000016A080052C8> a