Рассмотрим на примерах, как взаимодействовать с атрибутами объектов с помощью встроенных функций 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(). Проверяем наличие атрибута hasattr(object, name) Аргументы: Возвращаемое значение: Пример print(hasattr(cat_bob, "name"))
> True
print(hasattr(cat_bob, "breed"))
> False Эквивалент hasattr() try:
cat_bob.name
except AttributeError:
print(False)
else:
print(True)
> True
try:
cat_bob.breed
except AttributeError:
print(False)
else:
print(True)
> False Мы пробуем получить атрибут экземпляра класса (блок try) и если он есть - печатаем