Классы в Python / Как работает ООП / Магические методы, дескрипторы, Name Mangling
ООП на Python. Магические методы. Приложение к уроку 9
Доброго времени суток, читатели, зрители моего канала programmer's notes. Теперь в Дзен есть Подборки. Данная статья относится к подборке Это приложение к уроку Магические методы в Python Немного необычное приложение. Оно не повторяет и не расширяет урок 9. Это справочный материал к уроку, но с примерами. Системные магические методы __init__() — конструктор, запускается после создания объекта.
__new__() — конструктор, запускается перед созданием объекта.
__del__() — деструктор, запускается перед удалением объекта...
Различие магических методов __getattr__ и __getattribute__ в python.
Давайте посмотрим на несколько примеров использования __getattr__ и __getattribute__. __getattr__ Магический метод "__getattr__" будет вызываться каждый раз, когда вы обратитесь к атрибуту, который еще не был определен. В следующем примере класс "Count" не реализует метод "__getattr__". Теперь, когда я пытаюсь получить доступ к атрибутам "mymin" и "mymax" все работает нормально. Но когда я пытаюсь получить доступ к атрибуту "mycurrent" - Python выдаст мне ошибку: "AttributeError: 'Count' object has no attribute 'mycurrent'" Код: Теперь у моего класса Count есть метод "__getattr__"...