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 nerandamaAttributeError
išimtis, jei pavadintas atributas nerastas irdefault
nė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 AttributeError
sakinį, kad objektas neturi sekso atributo.