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

single

bookMielivaltaiset Avainsana-Argumentit

Pyyhkäise näyttääksesi valikon

Ohjelmoinnissa on olemassa erityinen syntaksi, jonka avulla funktiolle voidaan välittää mielivaltainen määrä nimettyjä parametreja, nimeltään **kwargs.

**kwargs mahdollistaa sen, että funktio voi ottaa vastaan minkä tahansa määrän nimettyjä argumentteja ja käsitellä niitä sanakirjana.

123456
def example_function(**kwargs): for key, value in kwargs.items(): print(f'{key}: {value}') # Example function call example_function(name='John', age=25, city='New York')
copy

Tässä esimerkissä **kwargs vastaanottaa nimettyjä argumentteja ja tulostaa niiden avaimet ja arvot.

Note
Huomio

.items()-menetelmää käytetään hakemaan avain-arvo -parien lista sanakirjasta Pythonissa. Jokainen tämän listan alkio esitetään tuplena (avain, arvo).

Voit myös käyttää **kwargs-rakennetta tietojen suodattamiseen ehdon perusteella. Esimerkiksi säilyttämällä vain ne alkiot, joiden arvo ylittää tietyn raja-arvon:

12345678
def filter_by_value(threshold, **kwargs): result = {} for key, value in kwargs.items(): if value >= threshold: result[key] = value return result print(filter_by_value(50, apple=30, banana=60, cherry=80))
copy

Tässä result muodostetaan tarkistamalla jokainen avain-arvo -pari ja lisäämällä vain ne, jotka täyttävät ehdon.

Tehtävä

Pyyhkäise aloittaaksesi koodauksen

Toteuta filter_products_by_budget -funktio, joka suodattaa tuotteet annetun budjetin perusteella.

  • Funktio ottaa pakollisena argumenttina budget ja lisäksi **kwargs, jossa jokainen avain on tuotteen nimi ja arvo on sen hinta.
  • Palauta sanakirja tuotteista, joiden hinta ei ylitä budjettia.
  • Jos yksikään tuote ei mahdu budjettiin, palauta "No products available within the budget.".
  • Jos vähintään yksi tuote löytyy, palauta "Available products within budget: {affordable_products}".

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 2
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

some-alt