I vantaggi di introspezione in Python

May 3

I vantaggi di introspezione in Python


Il linguaggio di programmazione Python, tanto come altri linguaggi di programmazione, è utilizzato per eseguire comandi basati sullo stato del programma. Questo è di solito realizzato attraverso il confronto delle variabili o valutare le dichiarazioni vero o falso. Il programmatore deve conoscere qualsiasi altro codice effettivo in anticipo, come la fine di un particolare modulo e come funziona. L'introspezione è un aspetto della programmazione che consente al programma di valutare se stesso e dei propri meccanismi interni.

Introspezione

Introspezione in Python coinvolge usando la funzionalità di Python per esaminare gli oggetti, metodi e moduli in fase di esecuzione. In Python, ogni cosa è un oggetto, e la natura introspettiva di Python significa che può esaminare gli oggetti durante l'esecuzione di codice. Ciò significa che il codice viene eseguito, si esamina, o parti di se stesso, per guidare qualsiasi azione intrapresa. Esaminando in sé, il codice può prendere informazioni sui tipi di dati o nomi di metodo come determinanti su come procedere.

Chiamando argomenti del metodo Out of Sequence

In tipico pratica di programmazione, un programmatore in grado di fornire informazioni di default per qualsiasi argomento a un metodo. Ad esempio, il metodo Python

def triplo (valore1, valore2 = 4, value3 = 6):

ha tre argomenti, due dei quali sono riportati i valori di default (value2 e value3). In altri linguaggi di programmazione, come C ++, un programmatore deve fornire gli argomenti nell'ordine corretto per il metodo corretto funzionamento. Python, tuttavia, lascerà il programmatore specificare argomenti in qualsiasi ordine, come

tripla (3, value3 = 7)

perché gli argomenti forniti a un metodo si intendono da Python come un oggetto dizionario.

Il "getattr" e funzione

La funzione "getattr" è una parte importante di Python introspezione (Fonte 3). La funzione "getattr" non chiama una funzione direttamente, ma piuttosto restituisce un riferimento alla locazione di memoria della funzione. Questo consente al programma di riferimento a un metodo qualsiasi oggetto (purché esista) senza conoscere il suo nome prima fase di esecuzione. Utilizzando "getattr" in questo modo, il nome del metodo corretto può essere costruito durante l'esecuzione di codice attraverso input dell'utente e richiamata come metodo normale. Questo è utile nei casi in cui sono richiesti più varianti di uscita.

Metodi speciali

Il potere di introspezione in Python viene da metodi speciali. Il metodo "callable" restituisce un valore vero se esiste un metodo o di classe di essere chiamato dal programmatore. Il metodo "tipo" restituisce il tipo di oggetto chiamato. Il metodo "issubclass" riporta un valore di verità sul fatto o meno una classe eredita da un'altra.