Prototipo di funzione in Python

November 2

In Python, le funzioni servono come base per qualsiasi progetto complesso. La pratica delle funzioni di prototipazione, o dichiarandoli prima di definire, è stato intorno dopo l'invenzione del linguaggio di programmazione C. Non tutte le lingue si comportano allo stesso modo. Mentre linguaggi come C in genere richiedono la funzione di prototipazione, linguaggi come Python non lo fanno. In realtà, Python non ha un vero meccanismo per sostenere la prototipazione. Ciò è dovuto al modo Python gestisce funzioni.

funzioni

Le funzioni sono blocchi di codice che vengono dati un nome e lo spazio di memoria dal compilatore o interprete del programma. Molto simile a una funzione matematica, le funzioni di programmazione accettano argomenti sotto forma di variabili, su cui essi svolgono un compito e produrre qualche risultato. Funzioni programmatori di aiuto in che, una volta creato, il programmatore può continuare a chiamare la stessa funzione per tutto un programma semplicemente utilizzando il suo nome e fornendo gli argomenti appropriati.

prototipi di funzione

Nel linguaggio di programmazione C, definendo funzioni in un programma richiede un certo ordine. Dopo i comandi "preprocessore" che includono librerie esterne e definiscono le macro, il programmatore deve dichiarare il "prototipo" di ogni funzione utilizzato nel programma, escludendo la funzione "principale". Il prototipo dice al compilatore C accantonare memoria per una funzione adatta la definizione del prototipo.

forward Referencing

Dato che i programmi C usano prototipi come parte della loro sintassi, le funzioni C in un programma sono spesso "di riferimento in avanti," il che significa che le funzioni utilizzate nel programma non saranno definiti fino a dopo il codice del programma. Essenzialmente, riferimenti avanti significa che il compilatore consentire l'esecuzione di una funzione, nella comprensione che la funzione sarà definito più avanti nel programma. Dal momento che C utilizza la prototipazione, le funzioni sono in genere non definiti fino a dopo il programma principale, vale a dire tutte le funzioni sono avanti di riferimento.

Python e Forward Referencing

interprete di Python non permette la funzione di prototipazione. Il comando "def" nelle funzioni Python come un comando per creare una funzione. Ciò significa che la funzione viene creata sul posto. L'interprete non accetta che una funzione "sarà" definito in un momento futuro. L'unica cosa che l'interprete Python cerca è quando verrà utilizzata la funzione. Ad esempio, la prima chiamata alla funzione "foo" non funziona, perché "pippo" non è stato definito. La seconda chiamata all'interno della classe A si, perché un oggetto di classe A verrà creato dopo foo è dichiarato:

foo () // avanti riferimento

classe A:
def init (auto):
foo ()

def foo ():
print "Ciao"

A = A () // non in avanti riferimento