Argomenti della funzione Python

postato in: Articles | 0

Argomenti

Nell’argomento della funzione definita dall’utente, abbiamo imparato a definire una funzione e chiamarla. In caso contrario, la chiamata di funzione si tradurrà in un errore. Ecco un esempio.

Uscita

Hello Monica, Good morning!

Qui, la funzione greet() ha due parametri.

Poiché abbiamo chiamato questa funzione con due argomenti, funziona senza problemi e non otteniamo alcun errore.,

Se lo chiamiamo con un numero diverso di argomenti, l’interprete mostrerà un messaggio di errore. Di seguito è riportata una chiamata a questa funzione con uno e nessun argomento insieme ai rispettivi messaggi di errore.

>>> greet("Monica") # only one argumentTypeError: greet() missing 1 required positional argument: 'msg'
>>> greet() # no argumentsTypeError: greet() missing 2 required positional arguments: 'name' and 'msg'

Argomenti delle funzioni variabili

Fino ad ora, le funzioni avevano un numero fisso di argomenti. In Python, ci sono altri modi per definire una funzione che può prendere un numero variabile di argomenti.

Tre diverse forme di questo tipo sono descritte di seguito.,

Argomenti predefiniti Python

Gli argomenti delle funzioni possono avere valori predefiniti in Python.

Possiamo fornire un valore predefinito a un argomento utilizzando l’operatore di assegnazione (=). Ecco un esempio.

Uscita

Hello Kate, Good morning!Hello Bruce, How do you do?

In questa funzione, il parametro name non ha un valore predefinito e viene richiesto (obbligatorio) durante una chiamata.,

D’altra parte, il parametro msgha un valore predefinito di "Good morning!". Quindi, è facoltativo durante una chiamata. Se viene fornito un valore, sovrascriverà il valore predefinito.

Qualsiasi numero di argomenti in una funzione può avere un valore predefinito. Ma una volta che abbiamo un argomento predefinito, tutti gli argomenti alla sua destra devono avere anche valori predefiniti.

Questo significa dire che gli argomenti non predefiniti non possono seguire gli argomenti predefiniti., Ad esempio, se avessimo definito l’intestazione della funzione sopra come:

def greet(msg = "Good morning!", name):

Avremmo un errore come:

SyntaxError: non-default argument follows default argument

Argomenti delle parole chiave Python

Quando chiamiamo una funzione con alcuni valori, questi valori vengono assegnati agli argomenti in base alla loro posizione.

Python consente di chiamare le funzioni utilizzando argomenti di parole chiave. Quando chiamiamo le funzioni in questo modo, l’ordine (posizione) degli argomenti può essere modificato. Le seguenti chiamate alla funzione di cui sopra sono tutte valide e producono lo stesso risultato.,

Come possiamo vedere, possiamo mescolare argomenti posizionali con argomenti di parole chiave durante una chiamata di funzione. Ma dobbiamo tenere a mente che gli argomenti delle parole chiave devono seguire argomenti posizionali.

Avere un argomento posizionale dopo gli argomenti delle parole chiave comporterà errori. Ad esempio, la chiamata di funzione come segue:

greet(name="Bruce","How do you do?")

Si tradurrà in un errore:

SyntaxError: non-keyword arg after keyword arg

Python Argomenti arbitrari

A volte, non sappiamo in anticipo il numero di argomenti che verranno passati in una funzione., Python ci consente di gestire questo tipo di situazione attraverso chiamate di funzione con un numero arbitrario di argomenti.

Nella definizione della funzione, usiamo un asterisco (*) prima del nome del parametro per indicare questo tipo di argomento. Ecco un esempio.

Output

Hello MonicaHello LukeHello SteveHello John

Qui, abbiamo chiamato la funzione con più argomenti. Questi argomenti vengono avvolti in una tupla prima di essere passati alla funzione. All’interno della funzione, usiamo un ciclofor per recuperare tutti gli argomenti.

Lascia un commento

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