У меня есть атрибут класса num_balls и атрибуты экземпляра серийного_номера и возраста.
Я создаю два экземпляра класса TennisBall и называю их ' а» и «б». Когда я вызываю деструктор для «a», экземпляр «b» также уничтожается.
Код: Выделить всё
class TennisBall:
ball_count = 0
def __init__(self, serial_number, age):
self.serial_number = serial_number
self.age = age
print("New Tennis Ball created {}!".format(self.serial_number))
TennisBall.ball_count +=1
def __del__(self):
print("Tennis ball {} has been deleted :(".format(self.serial_number))
TennisBall.ball_count -= 1
a = TennisBall(1234, 0)
print("Num balls: {} ".format(TennisBall.ball_count))
b = TennisBall(2345, 0)
print("Num balls: {} ".format(TennisBall.ball_count))
del a
print("Num balls after del ball a: {} ".format(TennisBall.ball_count))
Вместо этого я попробовал уничтожить «b», и снова и «a», и «b» были уничтожены.< /п>
Подробнее здесь: https://stackoverflow.com/questions/792 ... ructed-one
Мобильная версия