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

bookVilkå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.

Note
Merk

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

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.

Note
Merk

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.

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 du kan se fra resultatene:

  • Når funksjonen kalles uten argumenter, vil args være en tom tuple ();
  • Når funksjonen kalles med ett argument, vil args væ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.

Oppgave

Swipe to start coding

Implementer en calculate_total-funksjon som beregner totalprisen på varer i en handlekurv, og anvender rabatter basert på totalbeløpet.

  1. Bruk vilkårlige argumenter kalt prices i calculate_total-funksjonen.
  2. Hvis ingen argumenter er oppgitt, returner "Your cart is empty.".
  3. Gi en 20 % rabatt hvis totalen er $200 eller mer.
  4. Gi en 10 % rabatt hvis totalen er $100 eller mer.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 1
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

close

Awesome!

Completion rate improved to 4.35

bookVilkå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.

Note
Merk

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

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.

Note
Merk

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.

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 du kan se fra resultatene:

  • Når funksjonen kalles uten argumenter, vil args være en tom tuple ();
  • Når funksjonen kalles med ett argument, vil args væ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.

Oppgave

Swipe to start coding

Implementer en calculate_total-funksjon som beregner totalprisen på varer i en handlekurv, og anvender rabatter basert på totalbeløpet.

  1. Bruk vilkårlige argumenter kalt prices i calculate_total-funksjonen.
  2. Hvis ingen argumenter er oppgitt, returner "Your cart is empty.".
  3. Gi en 20 % rabatt hvis totalen er $200 eller mer.
  4. Gi en 10 % rabatt hvis totalen er $100 eller mer.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 1
single

single

some-alt