„Python getattr“ ()

Metodas getattr () grąžina objekto pavadinto atributo vertę. Jei nerandama, ji grąžina numatytąją funkcijos reikšmę.

getattr()Metodo sintaksė yra:

 getattr (objektas, vardas (numatytasis nustatymas))

Pirmiau nurodyta sintaksė yra tolygi:

 objektas.pavadinimas

getattr () parametrai

getattr() metodas apima kelis parametrus:

  • objektas - objektas, kurio pavadinto atributo vertė turi būti grąžinta
  • vardas - eilutė, kurioje yra atributo vardas
  • numatytasis (pasirinktinai) - vertė, kuri grąžinama, kai pavadinto atributo nerandama

Grąžinimo vertė iš „getattr“ ()

getattr() metodas grąžina:

  • nurodyto objekto pavadinto atributo vertė
  • default, jei pavadinto atributo nerandama
  • AttributeErrorišimtis, jei pavadintas atributas nerastas ir defaultnėra apibrėžtas

1 pavyzdys: Kaip „getattr“) veikia „Python“?

 class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)

Rezultatas

 Amžius yra: 23 Amžius: 23 

2 pavyzdys: getattr (), kai pavadintas atributas nerastas

 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'))

Rezultatas

 Lytis yra: Vyras Atributas Klaida: Objektas „Asmuo“ neturi atributo „seksas“ 

Nurodyto sekso atributo klasėje Asmuo nėra. Taigi, kai iškviečiate getattr()metodą su numatytąja verte Male, jis grąžina vyrą.

Bet, jei mes nenurodome jokios numatytosios vertės, kai nurodyto atributo lytis nerandama, tai kelia AttributeErrorsakinį, kad objektas neturi sekso atributo.

Įdomios straipsniai...