Рассмотрим на примерах, как взаимодействовать с атрибутами объектов с помощью встроенных функций hasattr(), getattr(), setattr(), delattr(). Для начала определим, что такое атрибут. Простыми словами, это что-то вроде переменной, которая связана с объектом и хранит в себе какие-то данные. Создадим экземпляр класса Cat и разберем работу с атрибутами при помощи встроенных функций. class Cat:
def __init__(self, name: str, age: int) -> None:
self.name = name
self.age = age
cat_bob = Cat(name="Bob", age=2) hasattr()...
__getattribute__ и __getattr__ Это методы, которые используются для получения значений полей класса (атрибутов). __getattribute__ — вызывается всегда, когда программисты пытается получить атрибут, независимо от того, сделано это извне или внутри класса (self.x). __getattr__ — выполняется только если __getattribute__ ничего не нашло. Здесь вы можете переопределить поведение для несуществующих объектов. Изучив...