Funzioni in Python

Una funzione è un blocco di codice progettato per svolgere un compito specifico. In Python, le funzioni permettono di organizzare il codice, evitare ripetizioni e migliorare la leggibilità del programma.

Utilizzando le funzioni, possiamo scrivere una volta una sequenza di istruzioni e riutilizzarla più volte, semplicemente richiamandola nel momento del bisogno.

Struttura e sintassi delle funzioni

La sintassi per definire una funzione in Python è semplice e diretta. Ecco un esempio base:


def saluta():
{
    print("Ciao! Benvenuto in Python.")
}

Il comando def serve per dichiarare una funzione, seguito dal nome e da parentesi tonde, che possono contenere parametri.

Come si utilizza una funzione?

Una volta definita, una funzione può essere richiamata nel programma in questo modo:


saluta()

Questa chiamata esegue tutte le istruzioni contenute nel corpo della funzione.

Come passare valori a una funzione

Le funzioni possono ricevere dei parametri, ovvero dei valori da utilizzare internamente. Ecco un esempio:


def saluta_utente(nome):
{
    print("Ciao, " + nome + "!")
}

Per passare un parametro, basta indicarlo nella chiamata:


saluta_utente("Luca")

Quali tipi di argomenti possiamo usare?

Python consente diversi modi per passare gli argomenti alle funzioni:

  • Argomenti posizionali: l’ordine è importante.
  • Argomenti con nome (keyword arguments): specifichi il nome del parametro.

Esempio con argomenti con nome:


def descrizione_persona(nome, età):
{
    print(nome + " ha " + str(età) + " anni.")
}

descrizione_persona(età=30, nome="Giulia")

Valori predefiniti per i parametri

È possibile assegnare un valore predefinito a un parametro. In questo modo, se l’argomento non viene fornito, la funzione utilizzerà il valore di default:


def saluta(nome="ospite"):
{
    print("Benvenuto, " + nome + "!")
}

saluta()
saluta("Marco")

Liste come argomenti nelle funzioni

Le liste sono spesso utilizzate come argomenti per funzioni che devono elaborare più elementi:


def stampa_elementi(lista):
{
    for elemento in lista:
    {
        print(elemento)
    }
}

nomi = ["Anna", "Luca", "Giovanni"]
stampa_elementi(nomi)

Come restituire un valore da una funzione

Una funzione può restituire un risultato utilizzando la parola chiave return:


def somma(a, b):
{
    return a + b
}

risultato = somma(4, 5)
print(risultato)

In questo caso, somma restituisce il valore 9, che viene poi stampato.

Capire la ricorsione in Python

Una funzione può anche chiamare se stessa. Questo concetto si chiama ricorsione ed è utile per risolvere problemi come il calcolo del fattoriale:


def fattoriale(n):
{
    if n == 0:
    {
        return 1
    }
    else:
    {
        return n * fattoriale(n - 1)
    }
}

print(fattoriale(5))

La funzione continua a chiamare se stessa finché raggiunge il caso base, ovvero quando n è uguale a 0.

Corsi correlati

In Arrivo

Design Pattern per videogiochi

I Design Pattern sono soluzioni a problemi comuni che si incontrano nello sviluppo del software. Nel contesto dei videogiochi, questi pattern possono aiutare a gestire la complessità crescente dei giochi moderni. Sei appassionato di videogiochi? Hai mai pensato a come vengono progettati e sviluppati? Sei curioso di scoprire i segreti dietro la creazione dei tuoi giochi preferiti? Allora sei nel posto giusto! Questo corso è stato progettato per fornirti una solida comprensione dei Design Pattern, strumenti fondamentali per ogni sviluppatore di giochi. Attraverso esempi pratici e realistici, esploreremo insieme come questi pattern possono aiutarti a creare giochi più efficienti, flessibili e mantenibili.

In Arrivo

Corso Fondamenti di Python

Python, uno dei linguaggi di programmazione più popolari al mondo, è ampiamente utilizzato da colossi dell’informatica e della tecnologia come Google, la Nasa e Mozilla.
Questo corso sui fondamenti di Python esplorerà le ragioni del suo successo duraturo. Impareremo la potente ed espressiva sintassi di Python, che consente di ottenere risultati impressionanti con poche righe di codice.

In Arrivo

Blender Masterclass 2

I paesaggi, in generale, possono risultare intimidatori data la loro complessità, costituita da numerosi elementi che sembrano formare qualcosa di virtualmente infinito. Durante le lezioni di questo corso, ci concentreremo su una scomposizione delle diverse fasi coinvolte nella creazione di una scena, affrontandole una alla volta attraverso passi graduati.

In Arrivo

Blender Masterclass 1

In questo corso di Blender 3D, Masha, in collaborazione con Gedemy, vi mostrerà il processo di modellazione, UV mapping, shading, e texture painting di un asset. Una volta apprese le basi, vedremo anche come effettuare il baking delle textures e la preparazione con successivo export della mesh in modo che possa essere utilizzabile all’interno di un qualsiasi altro software.

Crea il tuo account gratuito Gedemy

Gedemy è la prima piattaforma di formazione italiana che ti permette di sviluppare competenze in ambiti come Game Design, Programming, Arte, 3D, Tech, AI e molto altro.