Il metodo getattr () restituisce il valore dell'attributo denominato di un oggetto. Se non viene trovato, restituisce il valore predefinito fornito alla funzione.
La sintassi del getattr()
metodo è:
getattr (oggetto, nome (, predefinito))
La sintassi precedente è equivalente a:
nome.oggetto
parametri getattr ()
getattr()
il metodo accetta più parametri:
- oggetto - oggetto di cui deve essere restituito il valore dell'attributo denominato
- nome - stringa che contiene il nome dell'attributo
- default (Facoltativo) - valore restituito quando l'attributo denominato non viene trovato
Valore restituito da getattr ()
getattr()
restituisce il metodo:
- valore dell'attributo denominato dell'oggetto specificato
default
, se non viene trovato alcun attributo denominatoAttributeError
eccezione, se l'attributo denominato non viene trovato edefault
non è definito
Esempio 1: come funziona getattr () in Python?
class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)
Produzione
L'età è: 23 L'età è: 23
Esempio 2: getattr () quando l'attributo denominato non viene trovato
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'))
Produzione
Il sesso è: Male AttributeError: l'oggetto "Person" non ha l'attributo "sex"
L'attributo denominato sesso non è presente nella classe Persona. Quindi, quando si chiama il getattr()
metodo con un valore predefinito Male
, restituisce Male.
Ma, se non forniamo alcun valore predefinito, quando l'attributo denominato sex non viene trovato, viene generato un AttributeError
detto che l'oggetto non ha attributo sex.