Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Godtyckliga Argument | Godtyckliga Argument
Handledning om Pythonfunktioner

bookGodtyckliga Argument

Du har redan utforskat positionella och valfria argument. Men vad händer om en funktion har många argument eller om du inte känner till alla i förväg? Detta kan hanteras med godtyckliga argument (variabel-längdsargument). Dessa argument gör det möjligt för en funktion att ta emot ett godtyckligt antal indata, vilket gör den flexibel och anpassningsbar.

Note
Observera

Kom ihåg att varje argument kan vara en datastruktur, såsom en lista eller en ordbok. Du kan skicka ett godtyckligt antal sådana strukturer med hjälp av godtyckliga argument.

I Python kan du definiera godtyckliga argument som ett enskilt positionellt argument genom att placera en asterisk * före argumentnamnet. Här är ett exempel:

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 ovan indikerar * att variabeln values kan innehålla flera godtyckliga argument, vilka behandlas som en tuple. Den inbyggda funktionen sum() används sedan för att beräkna summan. Resultatet blir korrekt för alla exempel, och du behöver inte ange antalet argument uttryckligen. Observera: använd detta argument med dess namn utan * inuti funktionskroppen.

Note
Notera

För att definiera en godtycklig argument-tuple räcker det att använda * före argumentnamnet. Det rekommenderas dock att använda konstruktionen *args. Detta förbättrar kodens tolkbarhet och läsbarhet.

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 från resultaten:

  • När funktionen anropas utan några argument kommer args att vara en tom tuple ();
  • När funktionen anropas med ett argument kommer args att vara en tuple med ett element (1,);
  • När funktionen anropas med flera argument lagras alla i tuplen, till exempel (1, 2, 3, 'hello', [4, 5, 6]).

Med *args kan du arbeta med värdena precis som med vilken annan tuple som helst i Python.

Uppgift

Swipe to start coding

Implementera en funktion calculate_total som beräknar totalpriset för varor i en kundvagn, med rabatter baserade på det totala beloppet.

  1. Använd godtyckliga argument med namnet prices i funktionen calculate_total.
  2. Om inga argument anges, returnera "Your cart is empty.".
  3. Ge 20 % rabatt om totalen är $200 eller mer.
  4. Ge 10 % rabatt om totalen är $100 eller mer.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 1
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

close

Awesome!

Completion rate improved to 4.17

bookGodtyckliga Argument

Svep för att visa menyn

Du har redan utforskat positionella och valfria argument. Men vad händer om en funktion har många argument eller om du inte känner till alla i förväg? Detta kan hanteras med godtyckliga argument (variabel-längdsargument). Dessa argument gör det möjligt för en funktion att ta emot ett godtyckligt antal indata, vilket gör den flexibel och anpassningsbar.

Note
Observera

Kom ihåg att varje argument kan vara en datastruktur, såsom en lista eller en ordbok. Du kan skicka ett godtyckligt antal sådana strukturer med hjälp av godtyckliga argument.

I Python kan du definiera godtyckliga argument som ett enskilt positionellt argument genom att placera en asterisk * före argumentnamnet. Här är ett exempel:

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 ovan indikerar * att variabeln values kan innehålla flera godtyckliga argument, vilka behandlas som en tuple. Den inbyggda funktionen sum() används sedan för att beräkna summan. Resultatet blir korrekt för alla exempel, och du behöver inte ange antalet argument uttryckligen. Observera: använd detta argument med dess namn utan * inuti funktionskroppen.

Note
Notera

För att definiera en godtycklig argument-tuple räcker det att använda * före argumentnamnet. Det rekommenderas dock att använda konstruktionen *args. Detta förbättrar kodens tolkbarhet och läsbarhet.

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 från resultaten:

  • När funktionen anropas utan några argument kommer args att vara en tom tuple ();
  • När funktionen anropas med ett argument kommer args att vara en tuple med ett element (1,);
  • När funktionen anropas med flera argument lagras alla i tuplen, till exempel (1, 2, 3, 'hello', [4, 5, 6]).

Med *args kan du arbeta med värdena precis som med vilken annan tuple som helst i Python.

Uppgift

Swipe to start coding

Implementera en funktion calculate_total som beräknar totalpriset för varor i en kundvagn, med rabatter baserade på det totala beloppet.

  1. Använd godtyckliga argument med namnet prices i funktionen calculate_total.
  2. Om inga argument anges, returnera "Your cart is empty.".
  3. Ge 20 % rabatt om totalen är $200 eller mer.
  4. Ge 10 % rabatt om totalen är $100 eller mer.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 1
single

single

some-alt