Python getattr ()

Методът 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.

Интересни статии...