Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Mielivaltaiset Argumentit | Mielivaltaiset Argumentit
Python-Funktioiden Opas

bookMielivaltaiset Argumentit

Olet jo tutustunut paikallisiin ja valinnaisiin argumentteihin. Mutta entä jos funktiolla on paljon argumentteja tai et tiedä niitä kaikkia etukäteen? Tämän voi ratkaista käyttämällä määrittelemättömiä argumentteja (muuttuvan pituisia argumentteja). Näiden avulla funktio voi vastaanottaa minkä tahansa määrän syötteitä, mikä tekee siitä joustavan ja mukautuvan.

Note
Huomio

Muista, että jokainen argumentti voi olla tietorakenne, kuten lista tai sanakirja. Voit välittää mielivaltaisen määrän tällaisia rakenteita käyttämällä määrittelemättömiä argumentteja.

Pythonissa voit määritellä määrittelemättömät argumentit yksittäisenä paikallisena argumenttina lisäämällä tähden * argumentin nimen eteen. Tässä esimerkki:

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

Yllä olevassa koodissa * ilmaisee, että values-muuttuja voi sisältää useita mielivaltaisia argumentteja, jotka käsitellään tuplena. Sisäänrakennettua sum()-funktiota käytetään kokonaismäärän laskemiseen. Tulokset ovat oikein kaikissa esimerkeissä, eikä argumenttien määrää tarvitse määritellä erikseen. Huom: käytä tätä argumenttia nimenä ilman *-merkkiä funktion rungossa.

Note
Huom

Mielivaltaisen argumenttituplen määrittämiseen riittää, että käytetään * ennen argumentin nimeä. On kuitenkin suositeltavaa käyttää *args-rakennetta. Tämä parantaa koodin tulkittavuutta ja luettavuutta.

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

Kuten tuloksista näkyy:

  • Kun funktiota kutsutaan ilman argumentteja, args on tyhjä tuple ();
  • Kun funktiota kutsutaan yhdellä argumentilla, args on yhden alkion tuple (1,);
  • Kun funktiota kutsutaan useilla argumenteilla, kaikki argumentit tallennetaan tupleen, esimerkiksi (1, 2, 3, 'hello', [4, 5, 6]).

*args-rakenteen avulla arvoja voidaan käsitellä kuten mitä tahansa muuta Pythonin tuplea.

Tehtävä

Swipe to start coding

Toteuta calculate_total-funktio, joka laskee ostoskoriin lisättyjen tuotteiden kokonaishinnan ja soveltaa alennuksia kokonaissumman perusteella.

  1. Käytä mielivaltaisia argumentteja nimellä prices calculate_total-funktiossa.
  2. Jos argumentteja ei anneta, palauta "Your cart is empty.".
  3. Sovella 20 %:n alennusta, jos kokonaissumma on $200 tai enemmän.
  4. Sovella 10 %:n alennusta, jos kokonaissumma on $100 tai enemmän.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 1
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

Can you explain the difference between *args and regular arguments?

How do I use both *args and named arguments in the same function?

Can you show more examples of using *args in real-world scenarios?

close

Awesome!

Completion rate improved to 4.17

bookMielivaltaiset Argumentit

Pyyhkäise näyttääksesi valikon

Olet jo tutustunut paikallisiin ja valinnaisiin argumentteihin. Mutta entä jos funktiolla on paljon argumentteja tai et tiedä niitä kaikkia etukäteen? Tämän voi ratkaista käyttämällä määrittelemättömiä argumentteja (muuttuvan pituisia argumentteja). Näiden avulla funktio voi vastaanottaa minkä tahansa määrän syötteitä, mikä tekee siitä joustavan ja mukautuvan.

Note
Huomio

Muista, että jokainen argumentti voi olla tietorakenne, kuten lista tai sanakirja. Voit välittää mielivaltaisen määrän tällaisia rakenteita käyttämällä määrittelemättömiä argumentteja.

Pythonissa voit määritellä määrittelemättömät argumentit yksittäisenä paikallisena argumenttina lisäämällä tähden * argumentin nimen eteen. Tässä esimerkki:

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

Yllä olevassa koodissa * ilmaisee, että values-muuttuja voi sisältää useita mielivaltaisia argumentteja, jotka käsitellään tuplena. Sisäänrakennettua sum()-funktiota käytetään kokonaismäärän laskemiseen. Tulokset ovat oikein kaikissa esimerkeissä, eikä argumenttien määrää tarvitse määritellä erikseen. Huom: käytä tätä argumenttia nimenä ilman *-merkkiä funktion rungossa.

Note
Huom

Mielivaltaisen argumenttituplen määrittämiseen riittää, että käytetään * ennen argumentin nimeä. On kuitenkin suositeltavaa käyttää *args-rakennetta. Tämä parantaa koodin tulkittavuutta ja luettavuutta.

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

Kuten tuloksista näkyy:

  • Kun funktiota kutsutaan ilman argumentteja, args on tyhjä tuple ();
  • Kun funktiota kutsutaan yhdellä argumentilla, args on yhden alkion tuple (1,);
  • Kun funktiota kutsutaan useilla argumenteilla, kaikki argumentit tallennetaan tupleen, esimerkiksi (1, 2, 3, 'hello', [4, 5, 6]).

*args-rakenteen avulla arvoja voidaan käsitellä kuten mitä tahansa muuta Pythonin tuplea.

Tehtävä

Swipe to start coding

Toteuta calculate_total-funktio, joka laskee ostoskoriin lisättyjen tuotteiden kokonaishinnan ja soveltaa alennuksia kokonaissumman perusteella.

  1. Käytä mielivaltaisia argumentteja nimellä prices calculate_total-funktiossa.
  2. Jos argumentteja ei anneta, palauta "Your cart is empty.".
  3. Sovella 20 %:n alennusta, jos kokonaissumma on $200 tai enemmän.
  4. Sovella 10 %:n alennusta, jos kokonaissumma on $100 tai enemmän.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 1
single

single

some-alt