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.