Argomenti opzionali in Python

  1. Funzione Python con più argomenti opzionali
  2. Rendi gli argomenti opzionali in Python
  3. Conclusione

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.

Articolo correlato - Python Function

  • Esci da una funzione in Python