7.1 Creazione di funzioni
In Python, la creazione di funzioni è un aspetto fondamentale
della programmazione che consente al codice di essere più modulare, riutilizzabile
e leggibile. Le funzioni in Python sono definite usando
la parola chiave def
, seguita dal nome della funzione e
parentesi tonde con i parametri.
Puoi sempre pensare a una funzione come a un insieme di comandi, raggruppati a cui è stato dato un nome. La forma generale dell'annuncio di una funzione è la seguente:
def nome(parametri):
comando1
comando2
comandoN
Una funzione più semplice in Python potrebbe apparire così:
def greet():
print("Hello, World!")
La chiamata di una funzione si effettua scrivendo il suo nome con le parentesi tonde:
greet() # Stampa: Hello, World!
Chiamare una funzione equivale a scrivere il suo codice interno nel punto in cui viene chiamata. Invece di scrivere lo stesso codice più volte, è possibile separarli in blocchi distinti e dare loro un nome.
7.2 Passaggio di argomenti a una funzione
Lavorare con le funzioni non sarebbe così interessante se facessero sempre la stessa cosa—solo un blocco di comandi con un nome, e basta. Invece, si è subito pensato di aggiungere parametri alle funzioni—variabili attraverso le quali si possono passare diversi valori.
Le variabili all'interno di una funzione sono chiamate parametri della funzione. E i valori che vengono passati durante una chiamata specifica sono argomenti della funzione. I parametri della funzione semplicemente ricevono i valori degli argomenti.
def greet(name):
print("Hello,", name)
greet("Alice") # Stampa: Hello, Alice!
Esempio di una funzione con due argomenti:
def print_sum(a, b):
print(f"Somma di {a} e {b} è {a + b}")
print_sum(10, 15) # Stampa: Somma di 10 e 15 è 25
E ovviamente, puoi passare espressioni intere come argomenti:
def print_sum(a, b):
print(f"Somma di {a} e {b} è {a + b}")
print_sum(10*10-123, 15//2) # Stampa: Somma di -23 e 7 è -16
Utile! Per gli appassionati di C/C++ — tutte le variabili in Python sono riferimenti dal punto di vista del C++. Anche i parametri delle funzioni. Quando si assegna un valore, questo non viene mai copiato o duplicato—viene sempre assegnato solo il riferimento.
7.3 La funzione è un oggetto
In Python, le funzioni sono oggetti di prima classe, il che significa che possono essere utilizzate come qualsiasi altro oggetto. Questo offre agli sviluppatori un potente strumento per creare soluzioni software flessibili.
Funzioni come oggetti
Come oggetti di prima classe, le funzioni in Python possono essere:
- Assegnate a una variabile
- Passate come argomenti ad altre funzioni
- Restituite da altre funzioni
- Incorporate in strutture dati come liste e dizionari
Esempi:
def shout(text):
return text.upper()
yell = shout
def greet(func):
greeting = func("Hello") # chiama la funzione
print(greeting)
greet(shout)
Nel futuro, torneremo su questo argomento più volte, ma per ora ricordate— tutto in Python è un oggetto. Funzioni, classi, errori, liste, moduli—tutto.
GO TO FULL VERSION