Metóda getattr () vracia hodnotu pomenovaného atribútu objektu. Ak sa nenájde, vráti predvolenú hodnotu poskytnutú funkcii.
Syntax getattr()
metódy je:
getattr (objekt, meno (, predvolené))
Vyššie uvedená syntax je ekvivalentná:
názov objektu
getattr () parametre
getattr()
metóda má viac parametrov:
- objekt - objekt, ktorého hodnota pomenovaného atribútu sa má vrátiť
- name - reťazec, ktorý obsahuje názov atribútu
- default (voliteľné) - hodnota, ktorá sa vráti, keď sa nenájde pomenovaný atribút
Vrátiť hodnotu z getattr ()
getattr()
metóda vracia:
- hodnota pomenovaného atribútu daného objektu
default
, ak sa nenájde žiadny pomenovaný atribútAttributeError
výnimkou, ak sa nenájde adefault
nie je definovaný pomenovaný atribút
Príklad 1: Ako funguje getattr () v Pythone?
class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)
Výkon
Vek je: 23 Vek je: 23
Príklad 2: getattr (), keď sa nenájde pomenovaný atribút
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ýkon
Pohlavie je: Mužský atribút Chyba: Objekt „Osoba“ nemá žiadny atribút „pohlavie“
Pomenovaný atribút sex sa v triede Osoba nenachádza. Takže pri volaní getattr()
metódy s predvolenou hodnotou Male
vráti Male.
Ak však neposkytneme žiadnu predvolenú hodnotu, keď sa nenájde pomenovaný atribút sex, vyvolá AttributeError
príslovie, že objekt nemá žiadny atribút sex.