Python getattr ()

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öydy
  • AttributeErrorpoikkeus, jos nimettyä määritettä ei löydy eikä defaultsitä 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ää AttributeErrorsanonnan, että objektilla ei ole sukupuoli-attribuuttia.

Mielenkiintoisia artikkeleita...