HOWTO · Python

Argomenti opzionali in Python

Questo articolo fornisce una spiegazione sugli argomenti opzionali in python e su come usarli in python.

In questa pagina

In python, c’è qualcosa chiamato argomento predefinito. È anche noto come argomento opzionale o parametro opzionale in Python. Un argomento o un parametro significano entrambi la stessa cosa. Puoi usare queste parole in modo intercambiabile. Un argomento o un parametro è un input che una funzione accetta.

Funzione Python con più argomenti opzionali

Ogni volta che chiami una funzione, devi passare alcuni argomenti a quella funzione a seconda che una funzione accetti o meno argomenti. Non è obbligatorio passare un argomento a una funzione. Una funzione non può accettare argomenti o può accettare un numero qualsiasi di argomenti (a seconda di come è definita la funzione). Ci sono due modi in cui possiamo passare più argomenti.

Usa *args (argomenti non di parole chiave)

# Function Defination
def myfunction(first_name, last_name, *args):
    print(first_name)
    print(last_name)
    for argument in args:
        print(argument)


# Calling the Function
myfunction("Tim", "White", 999888999, 30)

Produzione:

Tim
White
999888999
30

Usa **kargs (argomenti delle parole chiave)

def myFunction(**kwargs):
    # printing all values which are passed in as an argument
    for key, value in kwargs.items():
        print("%s = %s" % (key, value))


# Calling the Function
myFunction(first_name="Tim", last_name="White", mob=99999999, age="30")

Produzione:

first_name = Tim
last_name = White
mob = 99999999
age = 30

*args e **kargs sono entrambi argomenti di lunghezza variabile che vengono usati per passare il numero variabile di argomenti a una funzione.

Quando crei una funzione, devi definire quanti parametri o argomenti ci vorrà come input. Questi sono chiamati argomenti formali. E ogni volta che chiami quella funzione, devi passare alcuni valori a quella funzione e quei valori sono chiamati argomenti effettivi.

Rendi gli argomenti opzionali in Python

Supponiamo che tu abbia una funzione che accetta tre argomenti o parametri name, number e age come input.

# Function Defination
def personalDetails(name, number, age):
    print("This function takes 3 parameters as input")

Se vuoi chiamare la funzione personalDetails, devi passare tutti e 3 i parametri come input a quella funzione.

def personalDetails(name, number, age):
    print("This function takes 3 parameters as input")
    print("Name: ", name)
    print("Number: ", number)
    print("Age: ", age)


# Calling the function
personalDetails("Adam", 987654321, 18)

Produzione:

This function takes 3 parameters as input
Name: Adam
Number: 987654321
Age: 18

Qui, mentre si chiama una funzione, se si è perso o si dimentica di passare uno dei parametri, è possibile ottenere un errore (TypeError: personalDetails missing a required positional argument).

Se non vuoi passare la tua età alla funzione precedente come argomento, puoi usare qualcosa chiamato argomento opzionale. Puoi rendere facoltativo un numero qualsiasi di argomenti o parametri in Python. Per rendere un argomento facoltativo, è necessario assegnare un valore predefinito a tale argomento.

Qui, per rendere facoltativo l’argomento age, puoi aggiungere un valore predefinito all’argomento age nella definizione della funzione per renderlo opzionale. In questo caso, inizializziamolo con 0 o qualsiasi altro valore che desideri. Ora Python considererà questo argomento come un argomento opzionale. Quindi, anche se non si passa alcun valore al parametro age, la funzione funzionerà e utilizzerà il valore predefinito, che in questo caso è 0.

def personalDetails(name, number, age=0):
    print("Age is now an optional argument.")
    print("Age is: ", age)


# Calling the function
personalDetails("Sam", 123456789)

Produzione:

Age is now an optional argument.
Age is: 0

Anche se vuoi specificare il valore dell’argomento age mentre chiami la funzione personalDetails, puoi farlo. E ora prenderà in considerazione il nuovo valore che hai specificato invece del valore predefinito.

def personalDetails(name, number, age=0):
    print("Age is now an optional argument.")
    print("Age is: ", age)


# Calling the function
personalDetails("Sam", 123456789, 25)

Produzione:

Age is now an optional argument.
Age is: 25

Conclusione

Ogni volta che si inizializza un argomento con un valore predefinito, è noto come argomento predefinito. Questo alla fine rende anche quell’argomento facoltativo, poiché ora non è obbligatorio passare un valore a quell’argomento durante la chiamata della funzione. Questo è noto come argomento opzionale o parametro opzionale in Python.

Ma se hai passato un valore nell’argomento opzionale mentre chiami la funzione, la funzione prenderà quel nuovo valore invece del valore predefinito.