Metoda getattr () vraća vrijednost imenovanog atributa objekta. Ako nije pronađena, vraća zadanu vrijednost koja se daje funkciji.
Sintaksa getattr()
metode je:
getattr (objekt, ime (, zadano))
Gornja sintaksa ekvivalentna je:
objekt.ime
parametri getattr ()
getattr()
metoda uzima više parametara:
- objekt - objekt čija vrijednost imenovanog atributa treba biti vraćena
- name - niz koji sadrži ime atributa
- zadana (neobavezna) - vrijednost koja se vraća kada imenovani atribut nije pronađen
Povratna vrijednost iz getattr ()
getattr()
metoda vraća:
- vrijednost imenovanog atributa datog objekta
default
, ako nije pronađen nijedan imenovani atributAttributeError
iznimka, ako imenovani atribut nije pronađen idefault
nije definiran
Primjer 1: Kako getattr () radi u Pythonu?
class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)
Izlaz
Dob je: 23 Dob je: 23
Primjer 2: getattr () kada imenovani atribut nije pronađen
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'))
Izlaz
Spol je: Muška atributna greška: objekt "Osoba" nema atribut "seks"
Imenovani atribut spol nije prisutan u klasi Osoba. Dakle, kada poziva getattr()
metodu sa zadanom vrijednošću Male
, ona vraća Male.
Ali, ako ne pružimo nikakvu zadanu vrijednost, kada imenovani atribut sex ne bude pronađen, postavlja se AttributeError
izreka da objekt nema atribut sex.