Metode getattr () atgriež objekta nosauktā atribūta vērtību. Ja tas nav atrasts, tas atgriež funkcijai norādīto noklusējuma vērtību.
Metodes sintakse getattr()
ir:
getattr (objekts, nosaukums (noklusējums))
Iepriekš minētā sintakse ir līdzvērtīga:
objekta.nosaukums
getattr () parametri
getattr()
metode prasa vairākus parametrus:
- objekts - objekts, kura nosauktā atribūta vērtība ir jāatdod
- nosaukums - virkne, kas satur atribūta nosaukumu
- noklusējums (neobligāti) - vērtība, kas tiek atgriezta, ja nosauktais atribūts netiek atrasts
Atgriešanās vērtība no getattr ()
getattr()
metode atgriež:
- norādītā objekta nosauktā atribūta vērtība
default
, ja nosauktais atribūts nav atrastsAttributeError
izņēmums, ja nosauktais atribūts nav atrasts undefault
nav definēts
1. piemērs: Kā getattr () darbojas Python?
class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)
Rezultāts
Vecums ir: 23 Vecums: 23
2. piemērs: getattr (), ja nosauktais atribūts nav atrasts
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'))
Rezultāts
Dzimums ir šāds: Male AttributeError: objektam “Persona” nav atribūta “sex”
Nosauktais dzimuma atribūts klasē Persona nav sastopams. Tātad, izsaucot getattr()
metodi ar noklusējuma vērtību Male
, tā atgriež Male.
Bet, ja mēs nenorādām nekādu noklusējuma vērtību, ja nosauktais atribūts sex nav atrasts, tas rada AttributeError
teicienu, ka objektam nav dzimuma atribūta.