Python классов странно действуют в Google Colaboratory - PullRequest
0 голосов
/ 29 мая 2020

Я создал класс 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...