Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Argomenti Posizionali Arbitrari | Argomenti Arbitrari
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Tutorial Sulle Funzioni in Python

bookArgomenti Posizionali Arbitrari

Conosci già gli argomenti posizionali e opzionali. Tuttavia, quando una funzione può ricevere molti input o non li conosci in anticipo, puoi utilizzare gli argomenti posizionali arbitrari. Questi permettono a una funzione di accettare un numero qualsiasi di valori.

Note
Nota

Ogni argomento può essere qualsiasi struttura dati (lista, dizionario, ecc.). Gli argomenti arbitrari consentono di passare tutti gli oggetti necessari di questo tipo.

Per definire argomenti posizionali arbitrari, inserire un asterisco * prima del nome del parametro. Esempio:

12345678
# Define function with arbitrary positional 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

Qui, *values raccoglie tutti gli argomenti posizionali passati in una tupla. All'interno della funzione, si utilizza il nome della variabile senza *. Il risultato è corretto indipendentemente dal numero di argomenti forniti.

Note
Nota

Sebbene qualsiasi nome sia valido, la forma più comune e leggibile è *args.

1234567891011121314
def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Come mostrato:

  • Nessun argomento → args è ();
  • Un argomento → (1,);
  • Più argomenti → tutti i valori appaiono in una tupla, ad esempio (1, 2, 3, 'hello', [4, 5, 6]).

*args si comporta come qualsiasi altra tupla, offrendo piena flessibilità nella gestione di molti input.

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 posizionali 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

Suggested prompts:

Can you explain the difference between positional and arbitrary positional arguments?

What happens if I mix regular arguments with *args in a function?

Can you show how to use *args with keyword arguments in the same function?

close

bookArgomenti Posizionali Arbitrari

Scorri per mostrare il menu

Conosci già gli argomenti posizionali e opzionali. Tuttavia, quando una funzione può ricevere molti input o non li conosci in anticipo, puoi utilizzare gli argomenti posizionali arbitrari. Questi permettono a una funzione di accettare un numero qualsiasi di valori.

Note
Nota

Ogni argomento può essere qualsiasi struttura dati (lista, dizionario, ecc.). Gli argomenti arbitrari consentono di passare tutti gli oggetti necessari di questo tipo.

Per definire argomenti posizionali arbitrari, inserire un asterisco * prima del nome del parametro. Esempio:

12345678
# Define function with arbitrary positional 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

Qui, *values raccoglie tutti gli argomenti posizionali passati in una tupla. All'interno della funzione, si utilizza il nome della variabile senza *. Il risultato è corretto indipendentemente dal numero di argomenti forniti.

Note
Nota

Sebbene qualsiasi nome sia valido, la forma più comune e leggibile è *args.

1234567891011121314
def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Come mostrato:

  • Nessun argomento → args è ();
  • Un argomento → (1,);
  • Più argomenti → tutti i valori appaiono in una tupla, ad esempio (1, 2, 3, 'hello', [4, 5, 6]).

*args si comporta come qualsiasi altra tupla, offrendo piena flessibilità nella gestione di molti input.

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 posizionali 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