Argomenti Arbitrari
Abbiamo già esaminato gli argomenti posizionali e opzionali delle funzioni. Tuttavia, cosa fare quando ci sono numerosi argomenti, o quando non si è certi di tutti gli argomenti che devono essere passati a una funzione? Questo problema può essere risolto utilizzando argomenti arbitrari (argomenti a lunghezza variabile). Questi argomenti permettono a una funzione di accettare un numero indefinito di argomenti. Ciò è particolarmente utile quando si desidera definire una funzione che possa ricevere un numero variabile di valori di input senza specificare in anticipo il numero esatto di argomenti.
Ricorda che ogni argomento può essere una struttura dati, come una lista o un dizionario. È possibile passare un numero arbitrario di tali strutture utilizzando argomenti arbitrari.
In Python, è possibile definire argomenti arbitrari come un singolo argomento posizionale anteponendo un asterisco *
al nome dell'argomento. Ecco un esempio:
12345678# Define function with arbitrary arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
Nel codice sopra, abbiamo utilizzato *
per dichiarare che la variabile values
contiene diversi argomenti arbitrari ed è interpretata come una tupla. Successivamente, abbiamo utilizzato la funzione incorporata sum
per calcolare la somma. Possiamo osservare che il risultato è corretto per tutti gli esempi e non è necessario specificare direttamente il numero di argomenti. Nota che questo argomento viene utilizzato per nome senza *
all'interno del corpo della funzione.
Per definire una tupla di argomenti arbitrari, è sufficiente utilizzare *
prima del nome dell'argomento. Tuttavia, si raccomanda di adottare la costruzione *args
. Questo migliora l'interpretabilità e la leggibilità del codice.
123456789101112131415161718def example_function(*args): # Print the type of args print(f'Type of args: {type(args)}') # Print the whole tuple print(f'Args tuple: {args}') # Iterate over the tuple for arg in args: print(arg) # Call the function without any arguments print("Call without arguments:") example_function() # Call the function with one argument print("\nCall with one argument:") example_function(1) # Call the function with multiple arguments print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
Come si può vedere dai risultati:
- Quando la funzione viene chiamata senza argomenti,
args
sarà una tupla vuota()
. - Quando la funzione viene chiamata con un argomento,
args
sarà una tupla con un solo elemento(1,)
. - Quando la funzione viene chiamata con più argomenti, tutti vengono memorizzati nella tupla, ad esempio
(1, 2, 3, 'hello', [4, 5, 6])
.
Con *args
, è possibile lavorare con i valori come con qualsiasi altra tupla in Python.
Swipe to start coding
Implementare una funzione calculate_total
che calcola il prezzo totale degli articoli in un carrello, applicando sconti in base all'importo totale.
- Utilizzare argomenti arbitrari denominati prices nella funzione
calculate_total
. - Se nessun argomento viene fornito, restituire
"Your cart is empty."
. - Applicare uno sconto del 20% se il totale è $200 o superiore.
- Applicare uno sconto del 10% se il totale è $100 o superiore.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 4.35
Argomenti Arbitrari
Scorri per mostrare il menu
Abbiamo già esaminato gli argomenti posizionali e opzionali delle funzioni. Tuttavia, cosa fare quando ci sono numerosi argomenti, o quando non si è certi di tutti gli argomenti che devono essere passati a una funzione? Questo problema può essere risolto utilizzando argomenti arbitrari (argomenti a lunghezza variabile). Questi argomenti permettono a una funzione di accettare un numero indefinito di argomenti. Ciò è particolarmente utile quando si desidera definire una funzione che possa ricevere un numero variabile di valori di input senza specificare in anticipo il numero esatto di argomenti.
Ricorda che ogni argomento può essere una struttura dati, come una lista o un dizionario. È possibile passare un numero arbitrario di tali strutture utilizzando argomenti arbitrari.
In Python, è possibile definire argomenti arbitrari come un singolo argomento posizionale anteponendo un asterisco *
al nome dell'argomento. Ecco un esempio:
12345678# Define function with arbitrary arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
Nel codice sopra, abbiamo utilizzato *
per dichiarare che la variabile values
contiene diversi argomenti arbitrari ed è interpretata come una tupla. Successivamente, abbiamo utilizzato la funzione incorporata sum
per calcolare la somma. Possiamo osservare che il risultato è corretto per tutti gli esempi e non è necessario specificare direttamente il numero di argomenti. Nota che questo argomento viene utilizzato per nome senza *
all'interno del corpo della funzione.
Per definire una tupla di argomenti arbitrari, è sufficiente utilizzare *
prima del nome dell'argomento. Tuttavia, si raccomanda di adottare la costruzione *args
. Questo migliora l'interpretabilità e la leggibilità del codice.
123456789101112131415161718def example_function(*args): # Print the type of args print(f'Type of args: {type(args)}') # Print the whole tuple print(f'Args tuple: {args}') # Iterate over the tuple for arg in args: print(arg) # Call the function without any arguments print("Call without arguments:") example_function() # Call the function with one argument print("\nCall with one argument:") example_function(1) # Call the function with multiple arguments print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
Come si può vedere dai risultati:
- Quando la funzione viene chiamata senza argomenti,
args
sarà una tupla vuota()
. - Quando la funzione viene chiamata con un argomento,
args
sarà una tupla con un solo elemento(1,)
. - Quando la funzione viene chiamata con più argomenti, tutti vengono memorizzati nella tupla, ad esempio
(1, 2, 3, 'hello', [4, 5, 6])
.
Con *args
, è possibile lavorare con i valori come con qualsiasi altra tupla in Python.
Swipe to start coding
Implementare una funzione calculate_total
che calcola il prezzo totale degli articoli in un carrello, applicando sconti in base all'importo totale.
- Utilizzare argomenti arbitrari denominati prices nella funzione
calculate_total
. - Se nessun argomento viene fornito, restituire
"Your cart is empty."
. - Applicare uno sconto del 20% se il totale è $200 o superiore.
- Applicare uno sconto del 10% se il totale è $100 o superiore.
Soluzione
Grazie per i tuoi commenti!
single