Python 同一对象的不同内存地址
为什么同一个对象有两个不同的内存地址Python 同一对象的不同内存地址,python,class,oop,object,Python,Class,Oop,Object,为什么同一个对象有两个不同的内存地址 您的x类内\uuuuu init\uuuuuu应该给出错误。您的代码正在运行,因为您使用的是像syder/jupyter这样的IDE,它存储以前运行的代码的结果。如果重新启动IDE并再次运行相同的代码,将引发错误未定义名称“x” 如果要引用x(类的对象),请使用self获取该引用 >类测试: ... 定义初始值(自身,最大值): ... 打印(自我,“b”) ... >>>x=测试(2) B >>>打印(x,“a”) A. 正
- 您的
类内x
应该给出错误。您的代码正在运行,因为您使用的是像syder/jupyter这样的IDE,它存储以前运行的代码的结果。如果重新启动IDE并再次运行相同的代码,将引发错误\uuuuu init\uuuuuu
未定义名称“x”
- 如果要引用
(类的对象),请使用self获取该引用x
>类测试:
... 定义初始值(自身,最大值):
... 打印(自我,“b”)
...
>>>x=测试(2)
B
>>>打印(x,“a”)
A.
- 正如您所看到的,
和x
内部的self
都有相同的地址\uuuu init\uuuu
- 请参阅以下参考资料:
x
(即,在前56次运行中的一次)?它可能正在使用它why@GreenCloakGuy如何克服这一点?也请不要把你的代码图像。其他人必须键入整个内容进行调试。始终将代码粘贴为文本。
>>> 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