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ırEgzersiz talimatları
echo_wordadresine, kendisiyle birleştirilmişworddizesini atayın.- Çevreleyen kapsamdaki
echo_worddeğerini değiştirmek içinnonlocalanahtar sözcüğünü kullanın. echo_wordadresini '!!!' ile birleştirilmişecho_wordolarak 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'
____