Python getattr ()

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 atribut
  • AttributeErroriznimka, ako imenovani atribut nije pronađen i defaultnije 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 AttributeErrorizreka da objekt nema atribut sex.

Zanimljivi članci...