Vilkårlige Argumenter
Du har allerede utforsket posisjonelle og valgfrie argumenter. Men hva om en funksjon har mange argumenter, eller du ikke kjenner til alle på forhånd? Dette kan håndteres ved å bruke vilkårlige argumenter (argumenter med variabel lengde). Disse argumentene lar en funksjon motta et hvilket som helst antall innverdier, noe som gjør den fleksibel og tilpasningsdyktig.
Husk at hvert argument kan være en datastruktur, som en liste eller et oppslagsverk (dictionary). Du kan sende et vilkårlig antall slike strukturer ved å bruke vilkårlige argumenter.
I Python kan du definere vilkårlige argumenter som et enkelt posisjonelt argument ved å plassere 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 indikerer * at variabelen values kan inneholde flere vilkårlige argumenter, som behandles som en tuple. Den innebygde funksjonen sum() brukes deretter til å beregne totalen. Resultatet blir korrekt for alle eksemplene, og det er ikke nødvendig å angi antall argumenter eksplisitt. Merk: bruk dette argumentet ved navn uten * inne i funksjonskroppen.
For å definere en vilkårlig argument-tuple er det tilstrekkelig å bruke * foran argumentnavnet. Det anbefales imidlertid å bruke konstruksjonen *args. Dette forbedrer tolkbarheten og lesbarheten i 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 du kan se fra resultatene:
- Når funksjonen kalles uten argumenter, vil
argsvære en tom tuple(); - Når funksjonen kalles med ett argument, vil
argsvære en tuple med ett element(1,); - Når funksjonen kalles med flere argumenter, lagres alle i tuplen, for eksempel
(1, 2, 3, 'hello', [4, 5, 6]).
Med *args kan du arbeide med verdiene på samme måte som med andre tupler i Python.
Swipe to start coding
Implementer en calculate_total-funksjon som beregner totalprisen på varer i en handlekurv, og anvender rabatter basert på totalbeløpet.
- Bruk vilkårlige argumenter kalt prices i
calculate_total-funksjonen. - Hvis ingen argumenter er oppgitt, returner
"Your cart is empty.". - Gi en 20 % rabatt hvis totalen er $200 eller mer.
- Gi en 10 % rabatt hvis totalen er $100 eller mer.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 4.35
Vilkårlige Argumenter
Sveip for å vise menyen
Du har allerede utforsket posisjonelle og valgfrie argumenter. Men hva om en funksjon har mange argumenter, eller du ikke kjenner til alle på forhånd? Dette kan håndteres ved å bruke vilkårlige argumenter (argumenter med variabel lengde). Disse argumentene lar en funksjon motta et hvilket som helst antall innverdier, noe som gjør den fleksibel og tilpasningsdyktig.
Husk at hvert argument kan være en datastruktur, som en liste eller et oppslagsverk (dictionary). Du kan sende et vilkårlig antall slike strukturer ved å bruke vilkårlige argumenter.
I Python kan du definere vilkårlige argumenter som et enkelt posisjonelt argument ved å plassere 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 indikerer * at variabelen values kan inneholde flere vilkårlige argumenter, som behandles som en tuple. Den innebygde funksjonen sum() brukes deretter til å beregne totalen. Resultatet blir korrekt for alle eksemplene, og det er ikke nødvendig å angi antall argumenter eksplisitt. Merk: bruk dette argumentet ved navn uten * inne i funksjonskroppen.
For å definere en vilkårlig argument-tuple er det tilstrekkelig å bruke * foran argumentnavnet. Det anbefales imidlertid å bruke konstruksjonen *args. Dette forbedrer tolkbarheten og lesbarheten i 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 du kan se fra resultatene:
- Når funksjonen kalles uten argumenter, vil
argsvære en tom tuple(); - Når funksjonen kalles med ett argument, vil
argsvære en tuple med ett element(1,); - Når funksjonen kalles med flere argumenter, lagres alle i tuplen, for eksempel
(1, 2, 3, 'hello', [4, 5, 6]).
Med *args kan du arbeide med verdiene på samme måte som med andre tupler i Python.
Swipe to start coding
Implementer en calculate_total-funksjon som beregner totalprisen på varer i en handlekurv, og anvender rabatter basert på totalbeløpet.
- Bruk vilkårlige argumenter kalt prices i
calculate_total-funksjonen. - Hvis ingen argumenter er oppgitt, returner
"Your cart is empty.". - Gi en 20 % rabatt hvis totalen er $200 eller mer.
- Gi en 10 % rabatt hvis totalen er $100 eller mer.
Løsning
Takk for tilbakemeldingene dine!
single