Python getattr ()

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 atributa
  • AttributeErrorizjema, če imenovanega atributa ni mogoče najti in defaultni 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 AttributeErrorrek, da objekt nima atributa sex.

Zanimive Članki...