Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Argomenti Arbitrari | Argomenti Arbitrari
Tutorial Sulle Funzioni in Python

bookArgomenti 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.

Note
Nota

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))
copy

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.

Note
Nota

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.

123456789101112131415161718
def 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])
copy

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.

Compito

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.

  1. Utilizzare argomenti arbitrari denominati prices nella funzione calculate_total.
  2. Se nessun argomento viene fornito, restituire "Your cart is empty.".
  3. Applicare uno sconto del 20% se il totale è $200 o superiore.
  4. Applicare uno sconto del 10% se il totale è $100 o superiore.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 1
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

close

Awesome!

Completion rate improved to 4.35

bookArgomenti 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.

Note
Nota

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))
copy

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.

Note
Nota

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.

123456789101112131415161718
def 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])
copy

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.

Compito

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.

  1. Utilizzare argomenti arbitrari denominati prices nella funzione calculate_total.
  2. Se nessun argomento viene fornito, restituire "Your cart is empty.".
  3. Applicare uno sconto del 20% se il totale è $200 o superiore.
  4. Applicare uno sconto del 10% se il totale è $100 o superiore.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 1
single

single

some-alt