Python getattr ()

De methode getattr () retourneert de waarde van het benoemde attribuut van een object. Indien niet gevonden, retourneert het de standaardwaarde die aan de functie is verstrekt.

De syntaxis van getattr()methode is:

 getattr (object, naam (, standaard))

De bovenstaande syntaxis is gelijk aan:

 object.name

getattr () Parameters

getattr() methode heeft meerdere parameters nodig:

  • object - object waarvan de waarde van het genoemde attribuut moet worden geretourneerd
  • naam - tekenreeks die de naam van het kenmerk bevat
  • standaard (optioneel) - waarde die wordt geretourneerd wanneer het benoemde kenmerk niet wordt gevonden

Retourwaarde van getattr ()

getattr() methode retourneert:

  • waarde van het benoemde kenmerk van het opgegeven object
  • default, als er geen benoemd kenmerk wordt gevonden
  • AttributeErroruitzondering, als benoemd kenmerk niet wordt gevonden en defaultniet is gedefinieerd

Voorbeeld 1: hoe werkt getattr () in Python?

 class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)

Uitvoer

 De leeftijd is: 23 De leeftijd is: 23 

Voorbeeld 2: getattr () als het genoemde attribuut niet wordt gevonden

 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'))

Uitvoer

 Het geslacht is: Male AttributeError: 'Person' object heeft geen attribuut 'sex' 

Het genoemde kenmerk geslacht is niet aanwezig in de klasse Persoon. Dus als een getattr()methode wordt aangeroepen met een standaardwaarde Male, wordt Male geretourneerd.

Maar als we geen standaardwaarde opgeven en het genoemde attribuut sex niet wordt gevonden, roept dit de AttributeErrormelding op dat het object geen sexattribuut heeft.

Interessante artikelen...