Задать вопрос
@1Tima1
Меня здесь не любят

Эту «нехорошую вещь» под названием классы обязательно проходить?

Я уже задолбался разбирать эту дичь
Я не могу ничего понять
Class Duck():
    def __init__(self,input_name):
         Self.hidden_name=input_name
    def get_name(self):
          print('inside the getter')
           return self,hidden_name
    def set_name(self,input_name):
            print('inside the setter')
            self.hidden_name=input_name
     name=property(get_name,set_name)

Почему когда я пишу
Fowl=Duck('Howard')
Fowl.name

Вызывается метод get_name(),а не __init__()??????????
Где в get_name() сохраняется значение????,если там прописано только self???????????? Почему не вызывается метод __init__()?????????

Чем отличается fowl=Duck('Howard') и fowl.name='Howard'
Я не вижу здесь разницы,почему они отличаются??????

Или все дело в property()?????,я же не знаю что делает эта функции
Вам может показаться,что я дурачок,а может и не может
Но я реально запутался!
  • Вопрос задан
  • 606 просмотров
Подписаться Простой 5 комментариев
Ответ пользователя Andrey_Dolg К ответам на вопрос (3)
@Andrey_Dolg
Я удивлён что у вас хоть что-то вызывается. ;)
Вам стоит переименовать класс и тогда не придётся разбирать дичь. =)

Исправьте ошибки в коде, после попробуйте вызвать методы вашего класса, метод init вызывается каждый раз когда вы пишитеDuck('Howard')
Ответ написан
Комментировать