Python getattr ()

Metoda getattr () vrací hodnotu pojmenovaného atributu objektu. Pokud není nalezen, vrátí výchozí hodnotu poskytnutou funkci.

Syntaxe getattr()metody je:

 getattr (objekt, název (, výchozí))

Výše uvedená syntaxe je ekvivalentní:

 název objektu

getattr () parametry

getattr() metoda má více parametrů:

  • objekt - objekt, jehož hodnota pojmenovaného atributu má být vrácena
  • name - řetězec, který obsahuje název atributu
  • default (volitelně) - hodnota, která se vrátí, když není nalezen pojmenovaný atribut

Vrátit hodnotu z getattr ()

getattr() metoda vrací:

  • hodnota pojmenovaného atributu daného objektu
  • default, pokud není nalezen žádný pojmenovaný atribut
  • AttributeErrorvýjimka, pokud pojmenovaný atribut nebyl nalezen a defaultnení definován

Příklad 1: Jak getattr () funguje v Pythonu?

 class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)

Výstup

 Věk je: 23 Věk je: 23 

Příklad 2: getattr (), když nebyl nalezen pojmenovaný atribut

 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'))

Výstup

 Pohlaví je: Muž AttributeError: Objekt „Osoba“ nemá atribut „sex“ 

Pojmenovaný atribut sex není ve třídě Osoba přítomen. Takže při volání getattr()metody s výchozí hodnotou Malevrátí Male.

Pokud však neposkytneme žádnou výchozí hodnotu, když není nalezen pojmenovaný atribut sex, vyvolá AttributeErrorrčení, že objekt nemá atribut sex.

Zajímavé články...