BaşlayınÜcretsiz Başlayın

Yerel olmayan anahtar sözcüğü ve iç içe geçmiş işlevler

Kapsam konusundaki ustalığınız üzerinde bir kez daha çalışalım! Bu alıştırmada, iç içe geçmiş bir fonksiyon içinde nonlocal anahtar sözcüğünü kullanarak çevreleyen kapsamda tanımlanan bir değişkenin değerini değiştireceksiniz.

Bu egzersiz

Python'da Fonksiyonlara Giriş

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • echo_word adresine, kendisiyle birleştirilmiş word dizesini atayın.
  • Çevreleyen kapsamdaki echo_word değerini değiştirmek için nonlocal anahtar sözcüğünü kullanın.
  • echo_word adresini '!!!' ile birleştirilmiş echo_word olarak değiştirin.
  • echo_shout() fonksiyonunu çağırın ve ona tek bir 'hello' argümanı verin.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# 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'
____
Kodu Düzenle ve Çalıştır