Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Vilkårlige Positionelle Argumenter | Vilkårlige Argumenter
Quizzes & Challenges
Quizzes
Challenges
/
Python Funktioner Vejledning

bookVilkårlige Positionelle Argumenter

Du kender allerede til positionelle og optionelle argumenter. Men når en funktion kan modtage mange input eller du ikke kender dem på forhånd, kan du bruge vilkårlige positionelle argumenter. De gør det muligt for en funktion at acceptere et vilkårligt antal værdier.

Note
Bemærk

Hvert argument kan være en hvilken som helst datastruktur (liste, dict, osv.). Vilkårlige argumenter gør det muligt at videregive så mange sådanne objekter som nødvendigt.

For at definere vilkårlige positionelle argumenter, placeres en stjerne * foran parameternavnet. Eksempel:

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

Her samler *values alle de overførte positionelle argumenter i en tuple. Inde i funktionen bruges variabelnavnet uden *. Resultatet er korrekt uanset hvor mange argumenter der gives.

Note
Bemærk

Selvom ethvert navn kan bruges, er den almindelige og læsevenlige form *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 vist:

  • Ingen argumenter → args er ();
  • Ét argument → (1,);
  • Flere argumenter → alle værdier vises i en tuple, f.eks. (1, 2, 3, 'hello', [4, 5, 6]).

*args fungerer som enhver anden tuple og giver fuld fleksibilitet ved håndtering af mange input.

Opgave

Swipe to start coding

Implementér en calculate_total-funktion, der beregner den samlede pris på varer i en kurv og anvender rabatter baseret på det samlede beløb.

  1. Brug vilkårlige positionelle argumenter med navnet prices i calculate_total-funktionen.
  2. Hvis der ikke gives nogen argumenter, returneres "Your cart is empty.".
  3. Anvend en 20% rabat, hvis det samlede beløb er $200 eller mere.
  4. Anvend en 10% rabat, hvis det samlede beløb er $100 eller mere.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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

bookVilkårlige Positionelle Argumenter

Stryg for at vise menuen

Du kender allerede til positionelle og optionelle argumenter. Men når en funktion kan modtage mange input eller du ikke kender dem på forhånd, kan du bruge vilkårlige positionelle argumenter. De gør det muligt for en funktion at acceptere et vilkårligt antal værdier.

Note
Bemærk

Hvert argument kan være en hvilken som helst datastruktur (liste, dict, osv.). Vilkårlige argumenter gør det muligt at videregive så mange sådanne objekter som nødvendigt.

For at definere vilkårlige positionelle argumenter, placeres en stjerne * foran parameternavnet. Eksempel:

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

Her samler *values alle de overførte positionelle argumenter i en tuple. Inde i funktionen bruges variabelnavnet uden *. Resultatet er korrekt uanset hvor mange argumenter der gives.

Note
Bemærk

Selvom ethvert navn kan bruges, er den almindelige og læsevenlige form *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 vist:

  • Ingen argumenter → args er ();
  • Ét argument → (1,);
  • Flere argumenter → alle værdier vises i en tuple, f.eks. (1, 2, 3, 'hello', [4, 5, 6]).

*args fungerer som enhver anden tuple og giver fuld fleksibilitet ved håndtering af mange input.

Opgave

Swipe to start coding

Implementér en calculate_total-funktion, der beregner den samlede pris på varer i en kurv og anvender rabatter baseret på det samlede beløb.

  1. Brug vilkårlige positionelle argumenter med navnet prices i calculate_total-funktionen.
  2. Hvis der ikke gives nogen argumenter, returneres "Your cart is empty.".
  3. Anvend en 20% rabat, hvis det samlede beløb er $200 eller mere.
  4. Anvend en 10% rabat, hvis det samlede beløb er $100 eller mere.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1
single

single

some-alt