English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Corso di base di Python

Controllo dei flussi in Python

Funzione in Python

Tipi di dati in Python

Operazioni di file in Python

Oggetti e classi in Python

Data e ora in Python

Conoscenze avanzate di Python

Manuale di riferimento di Python

Utilizzo e esempio di getattr() in Python

Funzioni native di Python

Il metodo getattr() restituisce il valore dell'attributo nome dell'oggetto. Se non lo trova, restituisce il valore predefinito fornito alla funzione.

La sintassi del metodo getattr() è:

getattr(object, name[, default])

La seguente sintassi è equivalente:

object.name

Parametri di getattr()

Il metodo getattr() accetta più parametri:

  • object -Oggetto da cui restituire il valore dell'attributo denominato

  • name -Stringa che contiene il nome dell'attributo

  • default (opzionale) -Valore restituito quando non si trova un attributo denominato

Valore di restituzione di getattr()

Il metodo getattr() restituisce:

  • Valore dell'attributo denominato dell'oggetto dato

  • default, se non si trova un attributo denominato

  • Eccezione AttributeError, se non si trova un attributo denominato e non è definito un valore predefinito

Esempio 1: Come getattr() funziona in Python?

class Person:
    age = 23
    name = "Adam"
person = Person()
print('L'età è:', getattr(person, "age"))
print('L'età è:', person.age)

Quando si esegue il programma, l'output è:

L'età è: 23
L'età è: 23

Esempio 2: getattr() quando non si trova un attributo denominato

class Person:
    age = 23
    name = "Adam"
person = Person()
# Quando viene fornito un valore predefinito
print('Il sesso è:', getattr(person, 'sex', 'Male'))
# Quando non viene fornito alcun valore predefinito
print('Il sesso è:', getattr(person, 'sex'))

Quando si esegue il programma, l'output è:

Il sesso è: Male
AttributeError: l'oggetto 'Person' non ha l'attributo 'sex'

L'attributo denominato 'sex' non esiste nella classe Person. Pertanto, quando si utilizza il valore predefinito Male chiamando il metodo getattr(), restituisce Male.

Ma, se non forniamo alcun valore predefinito, viene sollevata un'eccezione AttributeError, ovvero l'oggetto non ha l'attributo 'sex'.

Funzioni native di Python