Getattr () -menetelmä palauttaa objektin nimetyn attribuutin arvon. Jos sitä ei löydy, se palauttaa funktiolle annetun oletusarvon.
Menetelmän syntaksi getattr()
on:
getattr (objekti, nimi (, oletus))
Yllä oleva syntakse vastaa:
object.name
getattr () -parametrit
getattr()
menetelmä vie useita parametreja:
- object - objekti, jonka nimetty attribuutin arvo on palautettava
- nimi - merkkijono, joka sisältää määritteen nimen
- oletus (valinnainen) - arvo, joka palautetaan, kun nimettyä määritettä ei löydy
Palautusarvo getattrilta ()
getattr()
method palaa:
- annetun objektin määritetyn arvon arvo
default
, jos nimettyä määritettä ei löydyAttributeError
poikkeus, jos nimettyä määritettä ei löydy eikädefault
sitä ole määritelty
Esimerkki 1: Kuinka getattr () toimii Pythonissa?
class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)
Tuotos
Ikä on: 23 Ikä on: 23
Esimerkki 2: getattr (), kun nimettyä määritettä ei löydy
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'))
Tuotos
Sukupuoli on: Male AttributeError: Henkilö-objektilla ei ole attribuuttia sex
Nimettyä sukupuolen määritettä ei ole luokassa Henkilö. Joten, kun kutsut getattr()
menetelmää oletusarvolla Male
, se palauttaa Mies.
Mutta jos emme anna oletusarvoa, kun nimettyä määritettä sukupuoli ei löydy, se herättää AttributeError
sanonnan, että objektilla ei ole sukupuoli-attribuuttia.