【问题标题】:Is it possible to delete an object from inside its own function? [Python] [duplicate]是否可以从它自己的函数中删除一个对象? [Python] [重复]
【发布时间】:2017-04-22 15:04:21
【问题描述】:

我想知道我是否可以从它自己的函数中删除一个对象。这是我的想法:

class ball:
    def __init__(self, a):
        self.a = a

    def update(self, t):
        if t >= self.a:
            del self # Need help here

myBall = ball(120)

for i in range(0, 1000):
    myBall.update(i)

【问题讨论】:

  • 当循环到达myBall.update(121) 时,您期望会发生什么?
  • 你为什么要这样做?
  • @poke 如果在某个不再需要某个对象的地方删除它,它不会节省内存。 (这段代码只是为了举例)
  • 但是一个对象本身如何确定它是否仍然被其他东西需要呢?它只能看自己,所以没有办法知道其他事情。

标签: python class oop del


【解决方案1】:

del self 只是删除引用,而不是实际对象。

self 是对您的对象的引用。

【讨论】:

    猜你喜欢
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    • 2011-09-25
    • 1970-01-01
    • 2018-01-27
    • 2019-10-23
    • 2018-11-14
    相关资源
    最近更新 更多