Metoda getattr () returnează valoarea atributului numit al unui obiect. Dacă nu este găsit, returnează valoarea implicită furnizată funcției.
Sintaxa getattr()
metodei este:
getattr (obiect, nume (, implicit))
Sintaxa de mai sus este echivalentă cu:
obiect.nume
getattr () Parametri
getattr()
metoda ia mai mulți parametri:
- obiect - obiect a cărui valoare a atributului denumit trebuie returnată
- nume - șir care conține numele atributului
- implicit (Opțional) - valoare care este returnată atunci când atributul numit nu este găsit
Returnează valoarea de la getattr ()
getattr()
metoda returnează:
- valoarea atributului numit al obiectului dat
default
, dacă nu se găsește niciun atribut numitAttributeError
excepție, dacă atributul numit nu este găsit șidefault
nu este definit
Exemplul 1: Cum funcționează getattr () în Python?
class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)
Ieșire
Vârsta este: 23 Vârsta este: 23
Exemplul 2: getattr () când atributul numit nu este găsit
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'))
Ieșire
Sexul este: Male AttributeError: obiectul „Persoană” nu are atribut „sex”
Atributul numit sex nu este prezent în clasa Persoană. Deci, atunci când se apelează getattr()
metoda cu o valoare implicită Male
, returnează Male.
Dar, dacă nu oferim nicio valoare implicită, atunci când atributul numit sex nu este găsit, se ridică o AttributeError
zicală că obiectul nu are atribut sexual.