Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Godtyckliga Positionella Argument | Godtyckliga Argument
Quizzes & Challenges
Quizzes
Challenges
/
Handledning om Pythonfunktioner

bookGodtyckliga Positionella Argument

Du känner redan till positionella och valfria argument. Men när en funktion kan ta emot många indata eller du inte vet dem i förväg, kan du använda godtyckliga positionella argument. De gör det möjligt för en funktion att acceptera ett godtyckligt antal värden.

Note
Notera

Varje argument kan vara vilken datastruktur som helst (lista, dict, etc.). Godtyckliga argument gör att du kan skicka så många sådana objekt som behövs.

För att definiera godtyckliga positionella argument, placera en asterisk * före parameternamnet. Exempel:

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

Här samlar *values alla överförda positionella argument i en tuple. Inuti funktionen används variabelnamnet utan *. Resultatet blir korrekt oavsett hur många argument som anges.

Note
Notera

Även om vilket namn som helst fungerar är den vanliga och läsbara formen *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

Som visas:

  • Inga argument → args är ();
  • Ett argument → (1,);
  • Flera argument → alla värden visas i en tuple, t.ex. (1, 2, 3, 'hello', [4, 5, 6]).

*args fungerar som vilken annan tuple som helst och ger full flexibilitet vid hantering av många indata.

Uppgift

Swipe to start coding

Implementera en funktion calculate_total som beräknar totalpriset för varor i en kundvagn, med rabatter baserade på det totala beloppet.

  1. Använd godtyckliga positionella argument med namnet prices i funktionen calculate_total.
  2. Om inga argument anges, returnera "Your cart is empty.".
  3. Ge 20 % rabatt om totalen är $200 eller mer.
  4. Ge 10 % rabatt om totalen är $100 eller mer.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 1
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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

Awesome!

Completion rate improved to 4.17

bookGodtyckliga Positionella Argument

Svep för att visa menyn

Du känner redan till positionella och valfria argument. Men när en funktion kan ta emot många indata eller du inte vet dem i förväg, kan du använda godtyckliga positionella argument. De gör det möjligt för en funktion att acceptera ett godtyckligt antal värden.

Note
Notera

Varje argument kan vara vilken datastruktur som helst (lista, dict, etc.). Godtyckliga argument gör att du kan skicka så många sådana objekt som behövs.

För att definiera godtyckliga positionella argument, placera en asterisk * före parameternamnet. Exempel:

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

Här samlar *values alla överförda positionella argument i en tuple. Inuti funktionen används variabelnamnet utan *. Resultatet blir korrekt oavsett hur många argument som anges.

Note
Notera

Även om vilket namn som helst fungerar är den vanliga och läsbara formen *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

Som visas:

  • Inga argument → args är ();
  • Ett argument → (1,);
  • Flera argument → alla värden visas i en tuple, t.ex. (1, 2, 3, 'hello', [4, 5, 6]).

*args fungerar som vilken annan tuple som helst och ger full flexibilitet vid hantering av många indata.

Uppgift

Swipe to start coding

Implementera en funktion calculate_total som beräknar totalpriset för varor i en kundvagn, med rabatter baserade på det totala beloppet.

  1. Använd godtyckliga positionella argument med namnet prices i funktionen calculate_total.
  2. Om inga argument anges, returnera "Your cart is empty.".
  3. Ge 20 % rabatt om totalen är $200 eller mer.
  4. Ge 10 % rabatt om totalen är $100 eller mer.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 1
single

single

some-alt