Kata kunci nonlocal dan fungsi bersarang
Mari lanjutkan penguasaan Anda tentang cakupan (scope)! Dalam latihan ini, Anda akan menggunakan kata kunci nonlocal di dalam fungsi bersarang untuk mengubah nilai variabel yang didefinisikan pada cakupan terluarnya.
Latihan ini adalah bagian dari kursus
Pengantar Fungsi di Python
Petunjuk latihan
- Berikan ke
echo_wordstringwordyang digabungkan dengan dirinya sendiri. - Gunakan kata kunci
nonlocaluntuk mengubah nilaiecho_wordpada cakupan terluarnya. - Ubah
echo_wordmenjadiecho_wordyang digabungkan dengan '!!!'. - Panggil fungsi
echo_shout(), dengan meneruskan satu argumen 'hello'.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Define echo_shout()
def echo_shout(word):
"""Change the value of a nonlocal variable"""
# Concatenate word with itself: echo_word
____
# Print echo_word
print(echo_word)
# Define inner function shout()
def shout():
"""Alter a variable in the enclosing scope"""
# Use echo_word in nonlocal scope
____
# Change echo_word to echo_word concatenated with '!!!'
echo_word = ____
# Call function shout()
shout()
# Print echo_word
print(echo_word)
# Call function echo_shout() with argument 'hello'
____