Метод getattr () повертає значення названого атрибута об'єкта. Якщо його не знайти, він повертає значення за замовчуванням, надане функції.
Синтаксис getattr()методу:
getattr (об'єкт, ім'я (, за замовчуванням))
Вищезазначений синтаксис еквівалентний:
object.name
Параметри getattr ()
getattr() метод приймає кілька параметрів:
- object - об’єкт, значення якого має іменований атрибут
- name - рядок, що містить ім'я атрибута
- за замовчуванням (Необов’язково) - значення, яке повертається, коли названий атрибут не знайдений
Повернене значення з getattr ()
getattr() метод повертає:
- значення іменованого атрибута даного об'єкта
default, якщо не знайдено жодного іменованого атрибутаAttributeErrorвиняток, якщо іменований атрибут не знайдений іdefaultне визначений
Приклад 1: Як працює getattr () у Python?
class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)
Вихідні дані
Вік: 23 Вік: 23 роки
Приклад 2: getattr (), коли іменований атрибут не знайдений
class Person: age = 23 name = "Adam" person = Person() # when default value is provided print('The sex is:', getattr(person, 'sex', 'Male')) # when no default value is provided print('The sex is:', getattr(person, 'sex'))
Вихідні дані
Стать така: Чоловічий AttributeError: "Person" об'єкт не має атрибута "sex"
Названий атрибут статі відсутній у класі Person. Отже, при виклику getattr()методу зі значенням за замовчуванням Maleвін повертає Male.
Але, якщо ми не надаємо жодного значення за замовчуванням, коли названий атрибут sex не знайдений, це піднімає AttributeErrorприказку, що об’єкт не має атрибута sex.








