Python getattr ()

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útum
  • AttributeErrorkivétel, ha a megnevezett attribútum nem található és defaultnincs 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 MaleMale-t adja vissza.

De ha nem adunk meg alapértelmezett értéket, akkor, ha a szex megnevezett attribútum nem található, felvet egy AttributeErrormondatot, hogy az objektumnak nincs sex attribútuma.

érdekes cikkek...