Conosci davvero *args in Python?  |  di Christopher Tao |  Gennaio 2024

 | Intelligenza-Artificiale

Una guida completa di *args con esempi pratici

Essendo una delle sintassi più uniche in Python, *args ci darà molta flessibilità e comodità durante la programmazione. Direi che riflettono ciò che è “Pythonic” e lo Zen di Python.

Tuttavia, ho scoperto che sono difficili da comprendere per gli studenti. In questo articolo, farò del mio meglio per spiegare questo concetto iconico in Python e fornire casi d’uso pratici basati sulle mie conoscenze. Spero che ti aiuterà a capirlo meglio.

Immagine di Tommaso da Pixabay

*args sta per “argomenti”. Ci permette di passare qualsiasi numero di argomenti posizionali (spiegherà più avanti) ad una funzione. All’interno della funzione possiamo ottenere tutti gli argomenti posizionali in una tupla. Quindi possiamo fare qualunque cosa con la tupla di argomenti nella funzione.

Ecco un semplice esempio di *args.

def add_up(*numbers):
result = 0
for num in numbers:
result += num
return result

print(add_up(1, 2, 3))

Quando lo chiamiamo add_up() funzione, le abbiamo passato tre argomenti posizionali. In Python, se non specifichiamo i nomi degli argomenti, questi verranno trattati come argomenti posizionali. Questi argomenti sono determinati in base alla loro posizione, quindi sono chiamati argomenti posizionali.

Nell’esempio precedente, tutti gli argomenti posizionali 1, 2, 3 sono stati passati alla funzione e “catturati” dal *numbers parametro. Quindi, possiamo accedere a tutti questi argomenti da questo parametro numbers. L’asterisco * dice semplicemente a Python che questo è un file *args parametro di tipo. Successivamente, un semplice ciclo for somma tutti gli argomenti e stampa il risultato.

La bellezza di *argcome accennato in precedenza, è che può accettare un numero qualsiasi di argomenti posizionali. Pertanto, possiamo presentare più argomenti se necessario.

print(add_up(1, 2, 3, 4))

Qui possiamo verificare se la variabile numbers è una tupla aggiungendo una riga alla funzione originale.

def add_up(*numbers)…

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *