Vilkå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.
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))
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.
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.
123456789101112131415161718def 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])
Som det fremgår af resultaterne:
- Når funktionen kaldes uden argumenter, vil
argsvære en tom tuple(); - Når funktionen kaldes med ét argument, vil
argsvæ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.
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.
- Brug vilkårlige argumenter med navnet prices i
calculate_total-funktionen. - Hvis der ikke gives nogen argumenter, returneres
"Your cart is empty.". - Anvend en 20% rabat, hvis det samlede beløb er $200 eller mere.
- Anvend en 10% rabat, hvis det samlede beløb er $100 eller mere.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 4.17
Vilkå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.
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))
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.
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.
123456789101112131415161718def 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])
Som det fremgår af resultaterne:
- Når funktionen kaldes uden argumenter, vil
argsvære en tom tuple(); - Når funktionen kaldes med ét argument, vil
argsvæ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.
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.
- Brug vilkårlige argumenter med navnet prices i
calculate_total-funktionen. - Hvis der ikke gives nogen argumenter, returneres
"Your cart is empty.". - Anvend en 20% rabat, hvis det samlede beløb er $200 eller mere.
- Anvend en 10% rabat, hvis det samlede beløb er $100 eller mere.
Løsning
Tak for dine kommentarer!
single