İç İçe Fonksiyonlar II
Harika iş, az önce bir fonksiyonu başka bir fonksiyonun içinde tanımladın. Fonksiyonları iç içe yazmanın bir diğer hoş nedeni de closure kavramıdır. Bu, içteki fonksiyonun çağrıldığında kapsayıcı kapsamının durumunu hatırlaması demektir. Böylece, kapsayıcı kapsamda yerel olarak tanımlanan her şey, dıştaki fonksiyon çalışmasını bitirmiş olsa bile iç fonksiyon tarafından erişilebilir olur.
Hadi devam edelim! Bu egzersizde, iç fonksiyon inner_echo() tanımını tamamlayacak ve ardından echo() fonksiyonunu birkaç kez, her seferinde farklı bir argümanla çağıracaksın. Egzersizi tamamla ve çıktının ne olacağını gör!
Bu egzersiz, kursun bir parçasıdır
Python'da Fonksiyonlara Giriş
Egzersiz talimatları
- İç fonksiyonun başlığını
inner_echo()fonksiyon adı ve tek birword1parametresiyle tamamla. echo()fonksiyonunu,inner_echodönecek şekilde tamamla.echo()fonksiyonunu argüman olarak 2 verip çağırdık ve ortaya çıkan fonksiyonutwicedeğişkenine atadık. Senin görevin,echo()fonksiyonunu argüman olarak 3 verip çağırmak. Ortaya çıkan fonksiyonuthricedeğişkenine ata.- Sonuçları yazdırmak için
twice()vethrice()çağrılarını yapmak üzere Yanıtı Gönder düğmesine bas.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Define echo
def echo(n):
"""Return the inner_echo function."""
# Define inner_echo
def ____(____):
"""Concatenate n copies of word1."""
echo_word = word1 * n
return echo_word
# Return inner_echo
# Call echo: twice
twice = echo(2)
# Call echo: thrice
# Call twice() and thrice() then print
print(twice('hello'), thrice('hello'))