Как удалить объект класса, используя идентификатор объекта - PullRequest
0 голосов
/ 10 ноября 2019

Я хочу знать, как удалить объект в разделе класса.

Настройка подпрограммы Main () невозможна. Только я могу посоветовать секцию класса.

Это нормально, что создание метода для удаления объекта.

Кроме того, я предпочитаю использовать идентификатор объекта или адрес, такой как 'id (self)'.

Например,

class test:

def __init__(self, name):
    self.name = name
    self.id = id(self)
    print(f"(initializing {self.name}...)")

def __del__(self):
    print(f"(Destroying {self.name} ...)")

def delete(self):
    del self        # Error isn't generated, but object is still exist.
    del self.id     # Type Error

test1 = test('a')
test1.delete()
test2 = test('b')

результат этого кода

(initializing a...)
(initializing b...)
(Destroying a ...)
(Destroying b ...)

Я хочу получить следующий результат.

(initializing a...)
(Destroying a ...)     # <- Generating destructor because of object's deleting by user.
(initializing b...)
(Destroying b ...)     # <- Generating destructor because of system's end.
...