La vasta gamma di moduli, funzioni e istruzioni incorporati in Python aiuta i programmatori a svolgere varie attività. La funzione getattr() è una funzione incorporata in Python che consente ai programmatori di accedere al valore dell'attributo di un oggetto. Se il valore non viene trovato, la funzione getattar() restituisce il valore predefinito. Questo è il motivo per cui la funzione getattr() viene utilizzata principalmente per accedere ai valori degli attributi degli oggetti. Questo articolo fornirà una spiegazione dettagliata della funzione getattr() con alcuni esempi.
Sintassi
Prima di passare all'implementazione della funzione getattr(), discuteremo prima la sua sintassi. La sintassi della funzione getattr() è la seguente:
getattr(nome_oggetto, nome_attributo, valore_defalut)
La funzione getattr() accetta tre parametri come argomento:
nome_oggetto: Il nome dell'oggetto al cui attributo dobbiamo accedere.
nome attributo: Il nome dell'attributo a cui dobbiamo accedere.
valore predefinito: Il valore predefinito che viene restituito quando l'attributo non viene trovato.
Se l'attributo name non viene trovato e non definiamo default_value, la funzione getattar() solleva un'eccezione AttributeError.
Esempi
Ora, esamineremo alcuni esempi utilizzando la funzione getattr(). Abbiamo creato una classe per studenti e definito alcuni attributi per questa classe. Stiamo accedendo a questi attributi utilizzando la funzione getattar().
#creare una classe studentescaStudente di classe:
#definizione dell'attributo del nome
nome ="Giovanni"
#definizione di un attributo email
email="[email protetta]"
#Creazione di un oggetto di classe per studenti
std_obj = Studente()
#ora std_obj è il nostro oggetto
#accesso all'attributo del nome
print("Il valore dell'attributo nome è: ",getattr(std_obj,'nome'))
#accesso all'attributo email
print("Il valore dell'attributo email è: ",getattr(std_obj,'email'))
Produzione
La funzione getattr() ha restituito con successo i valori degli attributi.
Ora proveremo ad accedere a un attributo che non è definito. Definiremo il valore predefinito per questo attributo mancante.
#creare una classe studentescaStudente di classe:
#definizione dell'attributo del nome
nome ="Giovanni"
#definizione di un attributo email
email="[email protetta]"
#Creazione di un oggetto di classe per studenti
std_obj = Studente()
#ora std_obj è il nostro oggetto
#accesso all'attributo età
print("L'età è: ",getattr(std_obj,'età','Sopra 20'))
Il valore definito è "Sopra 20".
Produzione
Nel caso dell'attributo 'età' mancante, viene stampato il valore definito.
Se il valore non è definito, la funzione getattr() solleverà un'eccezione 'AttributeError'. Vediamo un esempio di questo.
#creare una classe studentescaStudente di classe:
#definizione dell'attributo del nome
nome ="Giovanni"
#definizione di un attributo email
email="[email protetta]"
#Creazione di un oggetto di classe per studenti
std_obj = Studente()
#ora std_obj è il nostro oggetto
#accesso all'attributo età
print("L'età è: ",getattr(std_obj,'età'))
Produzione
Puoi anche usare la funzione getattr() con namedtuple per accedere ai valori. Il namedtuple è un contenitore di tipo dizionario, ma puoi accedere ai suoi valori usando la funzione getattar(). Il namedtuple è una classe di moduli di collezioni. Implementiamo una namedtuple e accediamo ai valori usando la funzione getattr(). Stiamo creando una tuple con nome per lo studente.
#importando il modulo collezioniimportare collezioni
#creazione di una tupla con nome per uno studente
#nome ed età sono le chiavi
Studente= collezioni.namedtuple('Studente',['nome','età'])
#creare un nuovo insegnante e aggiungere i valori
std = Studente("Giovanni",21)
print("Il nome è:", getattr(std,"nome"))
print("L'età è: ",getattr(std,"età"))
Produzione
Conclusione
La funzione getattar() è una funzione incorporata in Python che restituisce il valore di un attributo dell'oggetto. La ragione principale per usare la funzione getattr() è che rende facile accedere al valore di un attributo usando il nome dell'attributo. Il nome dell'attributo è definito come una stringa e otteniamo il valore usando la funzione getattar(). Un valore può essere definito anche per l'attributo mancante. Dopo aver letto questo articolo, si spera che tu abbia imparato di più su come usare la funzione getattar() di Python.