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

bookVilkårlige Argumenter

Du har allerede udforsket positionelle og optionelle argumenter. Men hvad hvis en funktion har mange argumenter, eller du ikke kender dem alle på forhånd? Dette kan håndteres ved hjælp af vilkårlige argumenter (argumenter med variabel længde). Disse argumenter gør det muligt for en funktion at acceptere et vilkårligt antal input, hvilket gør den fleksibel og tilpasningsdygtig.

Note
Bemærk

Husk, at hvert argument kan være en datastruktur, såsom en liste eller et dictionary. Du kan videregive et vilkårligt antal af sådanne strukturer ved hjælp af vilkårlige argumenter.

I Python kan du definere vilkårlige argumenter som et enkelt positionelt argument ved at placere en stjerne * foran argumentnavnet. Her er et eksempel:

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

I koden ovenfor angiver *, at variablen values kan indeholde flere vilkårlige argumenter, som behandles som en tuple. Den indbyggede funktion sum() bruges derefter til at beregne det samlede resultat. Resultatet er korrekt for alle eksempler, og du behøver ikke at angive antallet af argumenter eksplicit. Bemærk: brug dette argument ved navn uden * inde i funktionskroppen.

Note
Bemærk

For at definere et vilkårligt argument-tuple er det tilstrækkeligt at bruge * før argumentnavnet. Det anbefales dog at anvende konstruktionen *args. Dette forbedrer fortolkbarheden og læsbarheden af koden.

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

Som det fremgår af resultaterne:

  • Når funktionen kaldes uden argumenter, vil args være en tom tuple ();
  • Når funktionen kaldes med ét argument, vil args være en tuple med ét element (1,);
  • Når funktionen kaldes med flere argumenter, gemmes alle i tuplen, for eksempel (1, 2, 3, 'hello', [4, 5, 6]).

Med *args kan du arbejde med værdierne på samme måde som med enhver anden tuple i Python.

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

close

Awesome!

Completion rate improved to 4.17

bookVilkårlige Argumenter

Stryg for at vise menuen

Du har allerede udforsket positionelle og optionelle argumenter. Men hvad hvis en funktion har mange argumenter, eller du ikke kender dem alle på forhånd? Dette kan håndteres ved hjælp af vilkårlige argumenter (argumenter med variabel længde). Disse argumenter gør det muligt for en funktion at acceptere et vilkårligt antal input, hvilket gør den fleksibel og tilpasningsdygtig.

Note
Bemærk

Husk, at hvert argument kan være en datastruktur, såsom en liste eller et dictionary. Du kan videregive et vilkårligt antal af sådanne strukturer ved hjælp af vilkårlige argumenter.

I Python kan du definere vilkårlige argumenter som et enkelt positionelt argument ved at placere en stjerne * foran argumentnavnet. Her er et eksempel:

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

I koden ovenfor angiver *, at variablen values kan indeholde flere vilkårlige argumenter, som behandles som en tuple. Den indbyggede funktion sum() bruges derefter til at beregne det samlede resultat. Resultatet er korrekt for alle eksempler, og du behøver ikke at angive antallet af argumenter eksplicit. Bemærk: brug dette argument ved navn uden * inde i funktionskroppen.

Note
Bemærk

For at definere et vilkårligt argument-tuple er det tilstrækkeligt at bruge * før argumentnavnet. Det anbefales dog at anvende konstruktionen *args. Dette forbedrer fortolkbarheden og læsbarheden af koden.

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

Som det fremgår af resultaterne:

  • Når funktionen kaldes uden argumenter, vil args være en tom tuple ();
  • Når funktionen kaldes med ét argument, vil args være en tuple med ét element (1,);
  • Når funktionen kaldes med flere argumenter, gemmes alle i tuplen, for eksempel (1, 2, 3, 'hello', [4, 5, 6]).

Med *args kan du arbejde med værdierne på samme måde som med enhver anden tuple i Python.

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