@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()?????,я же не знаю что делает эта функции
Вам может показаться,что я дурачок,а может и не может
Но я реально запутался!
  • Вопрос задан
  • 605 просмотров
Пригласить эксперта
Ответы на вопрос 3
Moskus
@Moskus
Обязательно - для чего? Если для зачёта - спросите своего преподавателя. Если чтобы научиться программировать - нет, "проходить" не нужно, нужно понять. Впрочем, если это вызывает у вас такую бурную реакцию, то, может, стоит подыскать занятие попроще, а не издеваться над собой? Или вы из тех, кто думает, что повторив упражнения, можно научиться чему угодно?
Ответ написан
Комментировать
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
> Эту «нехорошую вещь» под названием классы обязательно проходить?
Ну если не собираетесь дальше заниматься серьезно программированием - то не обязательно.
Ответ написан
Комментировать
@Andrey_Dolg
Я удивлён что у вас хоть что-то вызывается. ;)
Вам стоит переименовать класс и тогда не придётся разбирать дичь. =)

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

Войдите, чтобы написать ответ

Похожие вопросы