gpt4 book ai didi

Python对象删除自身

转载 作者:IT老高 更新时间:2023-10-28 21:45:22 25 4
gpt4 key购买 nike

为什么这不起作用?我正在尝试让一个类的实例自行删除。

>>> class A():
def kill(self):
del self


>>> a = A()
>>> a.kill()
>>> a
<__main__.A instance at 0x01F23170>

最佳答案

'self' 只是对对象的引用。 'del self' 正在从 kill 函数的本地命名空间中删除 'self' 引用,而不是实际的对象。

要亲眼看看,看看执行这两​​个函数时会发生什么:

>>> class A():
... def kill_a(self):
... print self
... del self
... def kill_b(self):
... del self
... print self
...
>>> a = A()
>>> b = A()
>>> a.kill_a()
<__main__.A instance at 0xb771250c>
>>> b.kill_b()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 7, in kill_b
UnboundLocalError: local variable 'self' referenced before assignment

关于Python对象删除自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/293431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com