A getattr () metódus visszaadja az objektum megnevezett attribútumának értékét. Ha nem található, akkor a függvénynek megadott alapértelmezett értéket adja vissza.
A getattr()
módszer szintaxisa :
getattr (objektum, név (alapértelmezett))
A fenti szintaxis ekvivalens:
object.name
getattr () Paraméterek
getattr()
A módszer több paramétert vesz igénybe:
- object - objektum, amelynek megnevezett attribútumának értékét vissza kell adni
- név - az attribútum nevét tartalmazó karakterlánc
- alapértelmezett (Opcionális) - érték, amely akkor kerül visszaadásra, ha a megnevezett attribútum nem található
Visszatérési érték a getattr-ból ()
getattr()
metódus visszatér:
- az adott objektum megnevezett attribútumának értéke
default
, ha nem található megnevezett attribútumAttributeError
kivétel, ha a megnevezett attribútum nem található ésdefault
nincs meghatározva
1. példa: Hogyan működik a getattr () a Pythonban?
class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)
Kimenet
Az életkor: 23 A kor: 23
2. példa: getattr (), ha a megnevezett attribútum nem található
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'))
Kimenet
A nem: Férfi AttribútumHiba: A "Személy" objektumnak nincs "szex" attribútuma
A szex megnevezett attribútum nincs a Személy osztályban. Tehát, ha a getattr()
metódust alapértelmezett értékkel hívja meg , a Male
Male-t adja vissza.
De ha nem adunk meg alapértelmezett értéket, akkor, ha a szex megnevezett attribútum nem található, felvet egy AttributeError
mondatot, hogy az objektumnak nincs sex attribútuma.