ÎncepețiÎncepe gratuit

Cuvântul cheie nonlocal și funcțiile imbricate

Să continuăm să lucrăm la înțelegerea domeniului de vizibilitate! În acest exercițiu, vei folosi cuvântul cheie nonlocal în interiorul unei funcții imbricate pentru a modifica valoarea unei variabile definite în domeniul de vizibilitate exterior.

Acest exercițiu face parte din cursul

Introducere în funcții în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Atribuie variabilei echo_word șirul de caractere word concatenat cu el însuși.
  • Folosește cuvântul cheie nonlocal pentru a modifica valoarea lui echo_word în domeniul de vizibilitate exterior.
  • Modifică echo_word prin concatenarea sa cu '!!!'.
  • Apelează funcția echo_shout(), transmițând ca argument unic șirul 'hello'.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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'
____
Editează și rulează codul