Metoda getattr () vrne vrednost imenovanega atributa predmeta. Če je ni mogoče najti, vrne privzeto vrednost, ki je na voljo funkciji.
Sintaksa getattr()
metode je:
getattr (objekt, ime (, privzeto))
Zgornja sintaksa je enakovredna:
object.name
parametri getattr ()
getattr()
metoda zajema več parametrov:
- objekt - objekt, katerega vrednost imenovanega atributa bo vrnjena
- name - niz, ki vsebuje ime atributa
- privzeto (neobvezno) - vrednost, ki se vrne, ko imenovanega atributa ne najdemo
Vrnjena vrednost iz getattr ()
getattr()
metoda vrne:
- vrednost imenovanega atributa danega predmeta
default
, če ne najde nobenega imenovanega atributaAttributeError
izjema, če imenovanega atributa ni mogoče najti indefault
ni definiran
Primer 1: Kako deluje getattr () v Pythonu?
class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)
Izhod
Starost je: 23 Starost je: 23 let
Primer 2: getattr (), ko poimenovanega atributa ne najdemo
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'))
Izhod
Spol je: Moški AttributeError: 'Oseba' predmet nima atributa 'sex'
Imenovani atribut sex ni prisoten v razredu Oseba. Torej, ko prikliče getattr()
metodo s privzeto vrednostjo Male
, vrne Male.
Če pa ne določimo nobene privzete vrednosti, ko imenovanega atributa sex ne najdemo, se pojavi AttributeError
rek, da objekt nima atributa sex.