Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 16, 2022 00:02:36

Ang_86
Зарегистрирован: 2022-11-15
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Объект без имени

Добрый день!
Начал изучать Python, столкнулся в чужой программе с вот таким:
class MyClass:
def get_metod(self,name):
print(“my metod=”+name)

if __name__ == ‘__main__’:
my_class=MyClass()
my_class.get_metod(“test1”)
MyClass().get_metod(“test2”)
Подскажите, что именно делает : MyClass().get_metod(“test2”) ?


Офлайн

#2 Ноя. 16, 2022 00:32:53

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Объект без имени

Ang_86
Подскажите, что именно делает :
  
MyClass().get_metod("test2")
?
Инструкция MyClass() создаёт объект.
Инструкция .get_metod(“test2”) у созданного объекта вызывает метод с аргументом.
После выполнения второй инструкции объект остаётся существовать до тех пор, пока его не обнаружит сборщик мусора (garbage collector или gc) и не освободит из-под него занимаемую память.
Если же к объекту привязано какое-то имя, то сборщик мусора не обращает внимание на такой объект.



Офлайн

#3 Ноя. 16, 2022 08:06:50

Ang_86
Зарегистрирован: 2022-11-15
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Объект без имени

Большое спасибо! Теперь все ясно стало, особенно познавательно про цикл жизни объекта.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version