Sisä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ä.
1234567891011def 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))
1. Miksi saattaisit määritellä funktion toisen funktion sisälle?
2. Mikä on sulkevan funktion sisällä määritellyn muuttujan näkyvyysalue?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme