Python getattr ()

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 hittas
  • AttributeErrorundantag, om namngiven attribut inte hittas och defaultinte 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 Malereturnerar den Male.

Men om vi inte tillhandahåller något standardvärde, när det namngivna attributkön inte hittas, väcker det ett AttributeErrorordstäv att objektet inte har något sexattribut.

Intressanta artiklar...