Introspezione in Python consiste nell'utilizzare la funzionalità di Python per esaminare 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 . Questo significa che il codice viene eseguito , esso stesso, o parti di se stesso prende in esame , per guidare tutte le azioni intraprese . Esaminando se stesso , il codice può prendere informazioni sui tipi di dati o nomi Metodo determinanti su come procedere.
Calling argomenti del metodo fuori sequenza
programmazione tipico pratica , un programmatore in grado di fornire informazioni di default per qualsiasi argomento a un metodo. Ad esempio, il metodo di Python
def triplo ( valore1, valore2 = 4 , valore3 = 6) :
ha tre argomenti , due dei quali sono dati i valori di default ( valore2 e value3 ) . In alcuni altri linguaggi di programmazione , come C + + , un programmatore deve fornire gli argomenti nell'ordine corretto per il metodo di funzionamento corretto . Python, tuttavia , farà si che il programmatore di specificare gli argomenti in qualsiasi ordine , come
tripla ( 3 , valore3 = 7 ) per
perché argomenti passati a un metodo vengono comprese da Python come un oggetto dizionario
. L' " getattr " e funzione
La funzione " getattr " è una parte importante di Python introspezione (Fonte 3) . La funzione " getattr " non chiama una funzione direttamente , bensì restituisce un riferimento alla locazione di memoria della funzione . Questo permette al programma di fare riferimento a un metodo in un oggetto ( a patto che esista) senza conoscere il suo nome prima fase di esecuzione. Utilizzando " getattr " in questo modo , il nome proprio metodo può essere costruito durante l'esecuzione di codice tramite input dell'utente e richiamata come metodo normale . Questo è utile nei casi in cui sono richieste variazioni multiple di uscita .
Metodi speciali
Il potere di introspezione in Python viene da metodi speciali . Il metodo " callable " restituisce un valore true se esiste un metodo o una classe di essere chiamato dal programmatore . Il metodo " tipo " restituisce il tipo dell'oggetto denominato . Il metodo " issubclass " riporta un valore di verità che sia o non si eredita da un'altra classe .
Programmazione © www.354353.com