MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Berikan ke echo_word string word yang digabungkan dengan dirinya sendiri.
  • Gunakan kata kunci nonlocal untuk mengubah nilai echo_word pada cakupan terluarnya.
  • Ubah echo_word menjadi echo_word yang 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'
____
Edit dan Jalankan Kode