Методът getattr () връща стойността на посочения атрибут на обект. Ако не бъде намерен, той връща стойността по подразбиране, предоставена на функцията.
Синтаксисът на getattr()
метода е:
getattr (обект, име (, по подразбиране))
Горният синтаксис е еквивалентен на:
обект.име
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“
Посоченият атрибут sex не присъства в класа Person. Така че, когато извиква getattr()
метод със стойност по подразбиране Male
, той връща Male.
Но ако не предоставим никаква стойност по подразбиране, когато посоченият атрибут sex не е намерен, той повдига AttributeError
поговорката, че обектът няма атрибут sex.