Klíčové slovo nonlocal a vnořené funkce
Pojďme dál prohlubovat znalosti scope! V tomto cvičení použiješ klíčové slovo nonlocal uvnitř vnořené funkce, abys změnil/a hodnotu proměnné definované v nadřazeném scope.
Toto cvičení je součástí kurzu
Úvod do funkcí v Pythonu
Pokyny k cvičení
- Přiřaď proměnné
echo_wordřetězecwordzřetězený sám se sebou. - Pomocí klíčového slova
nonlocaluprav hodnotuecho_wordv nadřazeném scope. - Změň
echo_wordnaecho_wordzřetězený s'!!!'. - Zavolej funkci
echo_shout()a předej jí jediný argument'hello'.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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'
____