Fungsi Bersarang II
Kerja bagus, Anda baru saja menyarangkan sebuah fungsi di dalam fungsi lain. Alasan menarik lain untuk menyarangkan fungsi adalah konsep closure. Ini berarti fungsi bersarang atau fungsi dalam mengingat keadaan dari lingkup yang melingkupinya saat dipanggil. Jadi, apa pun yang didefinisikan secara lokal di lingkup luar tersedia bagi fungsi dalam bahkan ketika fungsi luar telah selesai dieksekusi.
Mari lanjut! Pada latihan ini, Anda akan melengkapi definisi fungsi dalam inner_echo() dan kemudian memanggil echo() beberapa kali, masing-masing dengan argumen berbeda. Selesaikan latihan ini dan lihat apa keluarannya!
Latihan ini adalah bagian dari kursus
Pengantar Fungsi di Python
Petunjuk latihan
- Lengkapi header fungsi untuk fungsi dalam dengan nama fungsi
inner_echo()dan satu parameterword1. - Lengkapi fungsi
echo()sehingga mengembalikaninner_echo. - Kami telah memanggil
echo()dengan argumen 2 dan menetapkan fungsi hasilnya ketwice. Tugas Anda adalah memanggilecho()dengan argumen 3. Tetapkan fungsi hasilnya kethrice. - Tekan Kirim untuk memanggil
twice()danthrice()lalu mencetak hasilnya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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'))