Funzione 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()

Eseguire esempio

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")

Eseguire esempio

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")

Eseguire esempio

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)

Eseguire esempio

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))

Eseguire esempio

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")

Eseguire esempio

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")

Eseguire esempio

语句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

Eseguire esempio

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)

Eseguire esempio