Я создал класс Python Student в Google Colab. Однако по какой-то странной причине деструктор вызывается до инициализации объекта Jane, что сбивает с толку.
Я прикрепил вывод Google Colab ниже.
Когда я тестировал тот же код на 1) JupyterLab и 2) моем локальном компьютере, я получил то, что ожидал (прилагается ниже).
Может ли кто-нибудь объяснить мне, почему классы ведут себя странно в Google Colab?
class Student:
name = ''
section = ''
age = 0
def __init__(self, name, section, age):
self.name = name
self.section = section
self.age = age
def __del__(self):
print(f"{self.name} is graduating!")
def print_details(self):
print(f"Hi, my name is: {self.name} and I am in section {self.section}. My age is {self.age}")
ramu = Student('Ramu',3, 15)
ramu.print_details()
del(ramu)
jane = Student('Jane',1,14)
jane.print_details()
Вывод Google Colab
Hi, my name is: Ramu and I am in section 3. My age is 15
Ramu is graduating!
Jane is graduating!
Hi, my name is: Jane and I am in section 1. My age is 14
Вывод JupyterLab и локальной машины
Hi, my name is: Ramu and I am in section 3. My age is 15
Ramu is graduating!
Hi, my name is: Jane and I am in section 1. My age is 14