Funzione Python
- Pagina precedente Ciclo For Python
- Pagina successiva Lambda Python
Una funzione è un blocco di codice che viene eseguito solo al momento della chiamata.
Puoi passare dati (detti parametri) alla funzione.
Una funzione può restituire dati come risultato.
per creare una funzione
In Python, si utilizza def
Definizione di parola chiave:
Esempio
def my_function(): print("Hello from a function")
Chiamata di funzione
Per chiamare una funzione, usa il nome della funzione seguito da parentesi:
Esempio
def my_function(): print("Hello from a function") my_function()
Parametro
Le informazioni possono essere trasmesse come parametri alla funzione.
I parametri sono specificati tra parentesi quadre dopo il nome della funzione. Puoi aggiungere qualsiasi numero di parametri, separati da virgole.
Esempio di una funzione con parametri (fname). Quando chiamiamo questa funzione, passiamo un nome e lo usiamo all'interno della funzione per stampare il nome completo:
Esempio
def my_function(fname): print(fname + " Gates") my_function("Bill") my_function("Steve") my_function("Elon")
Valore predefinito dei parametri
Esempio di come utilizzare il valore predefinito dei parametri.
Se chiamiamo la funzione senza parametri, utilizziamo il valore predefinito:
Esempio
def my_function(country = "China"): print("Io sono da " + country) my_function("Sweden") my_function("India") my_function() my_function("Brazil")
Passaggio con elenco
I parametri che invii alla funzione possono essere di qualsiasi tipo di dati (stringa, numero, elenco, dizionario, ecc.) e saranno trattati come lo stesso tipo di dati all'interno della funzione.
Ad esempio, se invii una List come parametro, raggiungerà la funzione come List (elenco):
Esempio
def my_function(food): for x in food: print(x) fruits = ["apple", "banana", "cherry"] my_function(fruits)
Valore di ritorno
Per far tornare un valore dalla funzione, usa return
Esempio:
Esempio
def my_function(x): return 5 * x print(my_function(3)) print(my_function(5)) print(my_function(9))
Parametro a chiave
Puoi anche inviare i parametri utilizzando la sintassi key = value.
L'ordine dei parametri non importa.
Esempio
def my_function(child3, child2, child1): print("Il bambino più giovane è " + child3) my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")
Nel documento Python, la parola "parametro a chiave" è spesso abbreviata in kwargs.
Parametro arbitrario
Se non sai quanti parametri passerai alla tua funzione, aggiungi * davanti al nome del parametro nella definizione della funzione.
In questo modo, la funzione riceverà un tuple di parametri e potrà accedere a ciascun elemento:
Esempio
Se non conosci il numero di parametri, aggiungi * davanti al nome del parametro:
def my_function(*kids): print("Il bambino più giovane è " + kids[2]) my_function("Phoebe", "Jennifer", "Rory")
语句pass
La definizione della funzione non può essere vuota, ma se per qualche ragione hai scritto una definizione di funzione senza contenuto, usa la语句pass per evitare errori.
Esempio
def myfunction: pass
Ricorsione
Python accetta anche la ricorsione delle funzioni, il che significa che le funzioni definite possono chiamarsi a se stessi.
La ricorsione è un concetto comune in matematica e programmazione. Significa che una funzione si chiama a se stessa. Il vantaggio di questo è che è possibile accedere ciclicamente ai dati per raggiungere il risultato.
Gli sviluppatori devono essere molto attenti alla ricorsione, poiché è facile scrivere una funzione che non termina mai, o che utilizza troppa memoria o capacità del processore. Tuttavia, se corretta, la ricorsione può essere un metodo di programmazione molto efficace e matematicamente elegante.
In questo esempio:tri_recursion()
È definito come una funzione che si chiama a se stessa ("recurse"). Utilizziamo la variabile k come dati e la decrementiamo (-1) ogni volta che si verifica la ricorsione. La ricorsione termina quando la condizione non è maggiore di 0 (ad esempio, quando è 0).
Per i nuovi sviluppatori, potrebbe essere necessario del tempo per comprendere il funzionamento, il miglior metodo è testare e modificare.
Esempio
Esempio di ricorsione:
def tri_recursion(k): if(k>0): result = k+tri_recursion(k-1) print(result) else: result = 0 return result print("\n\nRisultati dell'Esempio di Ricorsione") tri_recursion(6)
- Pagina precedente Ciclo For Python
- Pagina successiva Lambda Python