nonlocal anahtar sözcüğü ve iç içe fonksiyonlar
Haydi kapsam (scope) konusuna hâkimiyetini biraz daha ilerlet! Bu egzersizde, kapsayan kapsamda tanımlı bir değişkenin değerini değiştirmek için iç içe bir fonksiyon içinde nonlocal anahtar sözcüğünü kullanacaksın.
Bu egzersiz, kursun bir parçasıdır
Python'da Fonksiyonlara Giriş
Egzersiz talimatları
echo_worddeğişkenine,wordstring'inin kendisiyle birleştirilmiş halini ata.- Kapsayan kapsamda
echo_worddeğerini değiştirmek içinnonlocalanahtar sözcüğünü kullan. echo_word'u,echo_wordile '!!!' birleştirilmiş hale dönüştür.echo_shout()fonksiyonunu tek bir argüman olan 'hello' ile çağır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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'
____