Metoden getattr () returnerar värdet på det namngivna attributet för ett objekt. Om den inte hittas returnerar den standardvärdet som ges till funktionen.
Syntaxen för getattr()
metoden är:
getattr (objekt, namn (, standard))
Ovanstående syntax motsvarar:
objekt.namn
getattr () Parametrar
getattr()
metoden tar flera parametrar:
- objekt - objekt vars namngivna attributvärde ska returneras
- namn - sträng som innehåller attributets namn
- default (Valfritt) - värde som returneras när det namngivna attributet inte hittas
Returvärde från getattr ()
getattr()
metoden returnerar:
- värdet på det angivna attributet för det angivna objektet
default
, om inget namngivet attribut hittasAttributeError
undantag, om namngiven attribut inte hittas ochdefault
inte definieras
Exempel 1: Hur fungerar 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
Åldern är: 23 Åldern är: 23
Exempel 2: getattr () när namngiven attribut inte hittas
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önet är: Manligt attributFel: 'Person' -objektet har inget attribut 'sex'
Det namngivna attributkön finns inte i klassen Person. Så när man anropar getattr()
metod med ett standardvärde Male
returnerar den Male.
Men om vi inte tillhandahåller något standardvärde, när det namngivna attributkön inte hittas, väcker det ett AttributeError
ordstäv att objektet inte har något sexattribut.