Come richiamare una funzione in Python (Esempio)
โก Riepilogo intelligente
Funzioni in Python Sono blocchi di codice riutilizzabili che vengono eseguiti quando richiamati, definiti con l'istruzione `def`. Accettano argomenti, restituiscono valori e si basano su un'indentazione coerente per raggruppare le istruzioni che appartengono a ciascuna funzione.

In cosa consiste la funzione Python?
A Funzione dentro Python ร una porzione di codice che viene eseguita quando viene richiamata. Viene utilizzata per impiegare lo stesso codice in piรน punti di un programma. ร anche chiamata metodo o procedura. Python Fornisce numerose funzioni integrate come print(), input(), compile() ed exec(), ma ti dร anche la libertร di creare le tue funzioni.
Come definire e chiamare una funzione Python
Una funzione dentro Python รจ definita dall'istruzione โdefโ seguita dal nome della funzione e dalle parentesi ( () ).
Esempio:
Definiamo una funzione usando il comando โdef func1():โ e chiamiamo la funzione. L'output della funzione sarร โSto imparando Python funzione".
La chiamata alla funzione func1() invoca la nostra def func1(): e stampa il comando "Sto imparando Python funzione Nessuna.
C'รจ un insieme di regole in Python programmazione per definire una funzione.
- Eventuali argomenti o parametri di input devono essere inseriti tra parentesi.
- La prima istruzione della funzione puรฒ essere un'istruzione facoltativa: la stringa di documentazione (docstring) della funzione.
- Il codice all'interno di ogni funzione inizia con i due punti (:) e deve essere rientrato (spazio).
- L'istruzione return (espressione) fa uscire una funzione, eventualmente restituendo un valore al chiamante. Un'istruzione return senza argomenti รจ equivalente a return None.
Significato del rientro (spazio) in Python
Prima di familiarizzare con Python funzioni, รจ importante comprendere la regola di rientro da dichiarare Python funzioni e queste regole sono applicabili ad altri elementi di Python anche, ad esempio, dichiarando condizioni, cicli o variabili.
Python segue uno stile di indentazione particolare per definire il codice. Poichรฉ Python Le funzioni non hanno un inizio o una fine espliciti, come le parentesi graffe, per indicarne l'inizio e la fine; devono quindi affidarsi all'indentazione. Prendiamo un semplice esempio con il comando "print". Se scriviamo la funzione "print" subito sotto la riga `def func1():`, verrร visualizzato un errore di indentazione: previsto un blocco indentato.
Ora, quando aggiungi il rientro (spazio) davanti alla funzione "print", dovrebbe stampare come previsto.
Almeno un rientro รจ sufficiente per far funzionare correttamente il codice. Tuttavia, come buona prassi, รจ consigliabile lasciare circa 3-4 spazi di rientro prima di chiamare la funzione.
ร inoltre necessario che, durante la dichiarazione dell'indentazione, si mantenga la stessa indentazione per il resto del codice. Ad esempio, nello screenshot seguente, quando chiamiamo un'altra istruzione "still in func1" e questa non รจ dichiarata immediatamente dopo la prima istruzione print, verrร visualizzato un errore di indentazione: "unindent non corrisponde ad alcun altro livello di indentazione".
Ora, quando applichiamo la stessa indentazione a entrambe le istruzioni e le allineiamo sulla stessa riga, otteniamo il risultato atteso.
Come la funzione restituisce il valore?
Il comando di ritorno in Python Specifica quale valore restituire a chi ha chiamato la funzione. Vediamo un esempio per comprenderlo meglio.
Passaggio 1) La funzione non restituisce nulla
Qui vediamo quando una funzione non "restituisce" nulla. Ad esempio, vogliamo calcolare il quadrato di 4 e, quando il codice viene eseguito, dovrebbe restituire "16". Questo risultato viene ottenuto semplicemente usando il codice "print x*x", ma quando chiamiamo la funzione "print square" otteniamo "None" come output. Questo accade perchรฉ, quando chiamiamo la funzione, la ricorsione non si verifica e il valore viene espulso dalla funzione. Python Restituisce "None" se la funzione esce dalla sua esecuzione.
Passaggio 2) Sostituire il comando print con un comando di assegnazione
Per rendere il tutto piรน chiaro, sostituiamo il comando print con un comando di assegnazione. Controlliamo l'output.
Quando si esegue il comando "print square (4)", in realtร restituisce il valore dell'oggetto. Poichรฉ non abbiamo alcuna funzione specifica da eseguire qui, restituisce "None".
Passaggio 3) Utilizzare la funzione 'return' ed eseguire il codice
Ora vedremo come recuperare l'output utilizzando il comando "return". Quando si utilizza la funzione "return" ed si esegue il codice, l'output sarร "16".
Passaggio 4) Esegui il comando 'stampa quadrato'
Funzioni in Python sono essi stessi un oggetto e un oggetto ha un certo valore. Vedremo qui come Python tratta un oggetto. Quando esegui il comando "print square", restituisce il valore dell'oggetto. Poichรฉ non abbiamo passato alcun argomento, non abbiamo alcuna funzione specifica da eseguire qui, quindi restituisce un valore predefinito (0x021B2D30) che รจ la posizione dell'oggetto. In pratica Python programma, probabilmente non avrai mai bisogno di farlo.
Argomenti nelle funzioni
Un argomento รจ un valore che viene passato alla funzione quando viene chiamata.
In altre parole, dal lato chiamante รจ un argomento, mentre dal lato funzione รจ un parametro.
Vediamo come Python gli argomenti funzionano.
Passo 1) Gli argomenti vengono dichiarati nella definizione della funzione. Quando si chiama la funzione, รจ possibile passare i valori per tali argomenti come mostrato di seguito.
Passo 2) Per dichiarare un valore predefinito per un argomento, assegnargli un valore nella definizione della funzione.
Esempio: x non ha un valore predefinito. Il valore predefinito di y=0. Quando forniamo un solo argomento durante la chiamata alla funzione moltiplica, Python assegna il valore fornito a x mentre mantieniping il valore di y=0. Quindi il prodotto di x*y=0.
Passo 3) Questa volta cambieremo il valore in y=2 invece del valore predefinito y=0, e l'output sarร (4ร2)=8.
Passo 4) ร anche possibile modificare l'ordine in cui vengono passati gli argomenti PythonQui abbiamo invertito l'ordine dei valori x e y, ottenendo x=4 e y=2.
Passo 5) ร possibile passare piรน argomenti anche come array. In questo esempio, richiamiamo i piรน argomenti (1,2,3,4,5) tramite la funzione (*args).
Esempio: Abbiamo dichiarato piรน argomenti come i numeri (1,2,3,4,5); quando chiamiamo la funzione (*args), questa stampa l'output come (1,2,3,4,5).
Suggerimenti:
- In Python 2.7, l'overload delle funzioni non รจ supportato. L'overload delle funzioni รจ la capacitร di creare piรน metodi con lo stesso nome ma con un'implementazione diversa. L'overload delle funzioni รจ completamente supportato in Python 3.
- C'รจ molta confusione tra metodi e funzioni. Metodi in Python sono associati alle istanze degli oggetti, mentre le funzioni non lo sono. Quando Python chiama un metodo, associa il primo parametro di quella chiamata al riferimento all'oggetto appropriato. In parole semplici, una funzione autonoma in Python รจ una โfunzioneโ, mentre una funzione che รจ un attributo di una classe o di un'istanza รจ un โmetodoโ.
Ecco il completo Python Codice 3
#define a function
def func1():
print ("I am learning Python function")
print ("still in func1")
func1()
def square(x):
return x*x
print(square(4))
def multiply(x,y=0):
print("value of x=",x)
print("value of y=",y)
return x*y
print(multiply(y=2,x=4))
Ecco il completo Python Codice 2
#define a function
def func1():
print " I am learning Python function"
print " still in func1"
func1()
def square(x):
return x*x
print square(4)
def multiply(x,y=0):
print"value of x=",x
print"value of y=",y
return x*y
print multiply(y=2,x=4)














