Argomenti opzionali in Python

Sahil Bhosale 30 gennaio 2023
  1. Funzione Python con più argomenti opzionali
  2. Rendi gli argomenti opzionali in Python
  3. Conclusione
Argomenti opzionali in Python

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.

Sahil Bhosale avatar Sahil Bhosale avatar

Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.

LinkedIn

Articolo correlato - Python Function