Argomenti Arbitrari
Hai già esplorato gli argomenti posizionali e opzionali. Ma cosa succede se una funzione ha molti argomenti o non li conosci tutti in anticipo? Puoi gestire questa situazione utilizzando argomenti arbitrari (argomenti a lunghezza variabile). Questi argomenti permettono a una funzione di accettare un numero qualsiasi di input, rendendola flessibile e adattabile.
Ricorda che ogni argomento può essere una struttura dati, come una lista o un dizionario. Puoi passare un numero arbitrario di tali strutture utilizzando argomenti arbitrari.
In Python, puoi 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, il simbolo * indica che la variabile values può contenere più argomenti arbitrari, che vengono trattati come una tupla. La funzione incorporata sum() viene quindi utilizzata per calcolare il totale. Il risultato è corretto per tutti gli esempi e non è necessario specificare esplicitamente il numero di argomenti. Nota: utilizzare questo argomento 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 consiglia 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ò osservare dai risultati:
- Quando la funzione viene chiamata senza argomenti,
argssarà una tupla vuota(); - Quando la funzione viene chiamata con un argomento,
argssarà 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.17
Argomenti Arbitrari
Scorri per mostrare il menu
Hai già esplorato gli argomenti posizionali e opzionali. Ma cosa succede se una funzione ha molti argomenti o non li conosci tutti in anticipo? Puoi gestire questa situazione utilizzando argomenti arbitrari (argomenti a lunghezza variabile). Questi argomenti permettono a una funzione di accettare un numero qualsiasi di input, rendendola flessibile e adattabile.
Ricorda che ogni argomento può essere una struttura dati, come una lista o un dizionario. Puoi passare un numero arbitrario di tali strutture utilizzando argomenti arbitrari.
In Python, puoi 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, il simbolo * indica che la variabile values può contenere più argomenti arbitrari, che vengono trattati come una tupla. La funzione incorporata sum() viene quindi utilizzata per calcolare il totale. Il risultato è corretto per tutti gli esempi e non è necessario specificare esplicitamente il numero di argomenti. Nota: utilizzare questo argomento 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 consiglia 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ò osservare dai risultati:
- Quando la funzione viene chiamata senza argomenti,
argssarà una tupla vuota(); - Quando la funzione viene chiamata con un argomento,
argssarà 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