Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Sisäkkäiset funktiot | Muuttujien Näkyvyys, Sisäkkäiset Funktiot ja Sulut
Funktionaalisen Ohjelmoinnin Käsitteet Pythonissa

bookSisäkkäiset funktiot

Pyyhkäise näyttääksesi valikon

Kun haluat järjestää koodiasi paremman luettavuuden, kapseloinnin tai uudelleenkäytön vuoksi, voit määritellä funktion toisen funktion sisälle. Näitä kutsutaan sisäkkäisiksi funktioiksi. Pythonissa sisäkkäinen funktio luodaan kirjoittamalla funktion määrittely toisen funktion rungon sisälle. Näin voit piilottaa apulogiikan, jonka ei tulisi olla ulkopuolelta käytettävissä, tai luoda erikoistuneita funktioita lennossa.

Sisäkkäisen funktion syntaksi on yksinkertainen: sijoita def-lause toisen def-lauseen rungon sisälle. Sisäinen funktio voi käyttää ulomman funktion muuttujia, mikä on hyödyllistä, kun halutaan luoda räätälöityjä toimintoja tai apulaskelmia, jotka perustuvat ulomman funktion argumentteihin.

Käytännöllinen tapa hyödyntää sisäkkäisiä funktioita on palauttaa funktio, joka on räätälöity ulomman funktion parametreilla. Tätä käytetään usein funktionaalisessa ohjelmoinnissa erikoistuneiden funktioiden luomiseen tai logiikan kapselointiin, jotta globaali nimiavaruus ei täyty turhilla nimillä.

1234567891011
def make_multiplier(factor): # 'multiplier' function is nested inside 'make_multiplier' def multiplier(x): return x * factor return multiplier double = make_multiplier(2) triple = make_multiplier(3) print(double(5)) print(triple(4))
copy

1. Miksi saattaisit määritellä funktion toisen funktion sisälle?

2. Mikä on sulkevan funktion sisällä määritellyn muuttujan näkyvyysalue?

question mark

Miksi saattaisit määritellä funktion toisen funktion sisälle?

Valitse oikea vastaus

question mark

Mikä on sulkevan funktion sisällä määritellyn muuttujan näkyvyysalue?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Osio 3. Luku 3
some-alt