Funzioni e Parametri In Python

Iniziare a programmare in Python significa anche comprendere come usare in modo efficace le funzioni e i parametri. Questi strumenti permettono di strutturare il codice in modo più pulito, riutilizzabile e leggibile. In questa guida ti accompagnerò passo dopo passo per chiarire ogni aspetto, con esempi semplici ma pratici.

Come si definisce una funzione in Python

Per creare una funzione in Python si utilizza la parola chiave def. Ecco un esempio:

def Saluta():
    print("Ciao, benvenuto su Gedemy!")

Una volta definita, puoi chiamare la funzione semplicemente così: Saluta().

Esploriamo i diversi tipi di parametri

Una funzione può accettare dei parametri, ovvero delle informazioni esterne che vengono utilizzate al suo interno. Vediamo le principali categorie.

1. Parametri posizionali: l’ordine conta

Questi parametri sono passati in ordine e devono essere rispettati durante la chiamata della funzione:

def Presenta(nome, età):
{
    print(f"Mi chiamo {nome} e ho {età} anni.")
}

Chiamando Presenta("Luca", 30) otterrai il risultato corretto. Invertendoli, cambierà il significato.

2. Parametri con nome (keyword arguments): chiarezza prima di tutto

Puoi indicare il nome del parametro durante la chiamata. Questo rende il codice più leggibile:

Presenta(età=30, nome="Luca")

In questo caso l’ordine non è importante, ma i nomi sì.

3. Parametri con valori predefiniti: versatilità

Puoi assegnare un valore di default a un parametro:

def Presenta(nome, età=18):
{
    print(f"{nome} ha {età} anni.")
}

Chiamando Presenta("Anna"), l’età sarà automaticamente 18.

4. Parametri variabili: *args e **kwargs

Quando non conosci a priori il numero di parametri, puoi usare:

def Somma(*numeri):
{
    print(sum(numeri))
}

*args raccoglie i parametri in una tupla. E per i parametri con nome?

def MostraInfo(**dati):
{
    for chiave, valore in dati.items():
    {
        print(f"{chiave}: {valore}")
    }
}

**kwargs funziona come un dizionario, utile per parametri opzionali e dinamici.

Output:

Utilizzando queste tecniche puoi creare funzioni flessibili e robuste, adattabili a molte situazioni reali.

Ordine dei parametri: segui una logica

Python richiede un ordine specifico: prima i parametri posizionali, poi quelli con valori predefiniti, seguiti da *args e infine **kwargs.

def Esempio(a, b=2, *args, **kwargs):
{
    pass
}

Output:

Se rispetti questo ordine, eviterai errori e avrai un codice più ordinato.

Usare funzioni come parametri: potenza funzionale

In Python puoi passare anche funzioni come parametri ad altre funzioni:

def EseguiFunzione(funz):
{
    funz()
}

def Saluto():
{
    print("Ciao!")
}

EseguiFunzione(Saluto)

Questa pratica è molto usata, ad esempio, nel paradigma funzionale e nel design dei callback.

Annotazioni dei parametri: rendi il codice più chiaro

Python supporta le type hints, ovvero le annotazioni sui tipi di parametri e valori restituiti:

def Somma(a: int, b: int) -> int:
{
    return a + b
}

Queste annotazioni non sono obbligatorie, ma migliorano la leggibilità e l’integrazione con strumenti come linters o IDE avanzati.

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.