Metoden getattr () returnerer værdien af den navngivne attribut for et objekt. Hvis den ikke findes, returnerer den standardværdien til funktionen.
Syntaksen for getattr()
metoden er:
getattr (objekt, navn (, standard))
Ovenstående syntaks svarer til:
objekt.navn
getattr () Parametre
getattr()
metoden tager flere parametre:
- objekt - objekt, hvis navngivne attributs værdi skal returneres
- navn - streng, der indeholder attributens navn
- standard (Valgfri) - værdi, der returneres, når den navngivne attribut ikke findes
Returneringsværdi fra getattr ()
getattr()
metode returnerer:
- værdi af den navngivne attribut for det givne objekt
default
, hvis der ikke findes nogen navngivet attributAttributeError
undtagelse, hvis den navngivne attribut ikke findes ogdefault
ikke er defineret
Eksempel 1: Hvordan fungerer getattr () i Python?
class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)
Produktion
Alderen er: 23 Alderen er: 23
Eksempel 2: getattr () når navngivet attribut ikke findes
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'))
Produktion
Køn er: Mand AttributError: 'Person' objekt har ingen attribut 'sex'
Det navngivne attributkøn er ikke til stede i klassen Person. Så når man kalder getattr()
metode med en standardværdi Male
, returnerer den Mand.
Men hvis vi ikke angiver nogen standardværdi, når det navngivne attributkøn ikke findes, rejser det et AttributeError
ordsprog, objektet har ingen sexattribut.