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ý atributAttributeError
výjimka, pokud pojmenovaný atribut nebyl nalezen adefault
není 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 Male
vrátí Male.
Pokud však neposkytneme žádnou výchozí hodnotu, když není nalezen pojmenovaný atribut sex, vyvolá AttributeError
rčení, že objekt nemá atribut sex.