Začněte nyníZačněte zdarma

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

Zobrazit kurz

Pokyny k cvičení

  • Přiřaď proměnné echo_word řetězec word zřetězený sám se sebou.
  • Pomocí klíčového slova nonlocal uprav hodnotu echo_word v nadřazeném scope.
  • Změň echo_word na echo_word zř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'
____
Upravit a spustit kód