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 gevondenAttributeError
uitzondering, als benoemd kenmerk niet wordt gevonden endefault
niet 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 AttributeError
melding op dat het object geen sexattribuut heeft.