Zacznij terazZacznij za darmo

Słowo kluczowe nonlocal i funkcje zagnieżdżone

Czas dalej ćwiczyć zasięg! W tym ćwiczeniu użyjesz słowa kluczowego nonlocal wewnątrz funkcji zagnieżdżonej, aby zmienić wartość zmiennej zdefiniowanej w otaczającym zakresie.

To ćwiczenie jest częścią kursu

Wprowadzenie do funkcji w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Przypisz do echo_word łańcuch znaków word połączony z samym sobą.
  • Użyj słowa kluczowego nonlocal, aby zmienić wartość echo_word w otaczającym zakresie.
  • Zmień echo_word na echo_word połączone z '!!!'.
  • Wywołaj funkcję echo_shout(), przekazując jej jeden argument 'hello'.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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'
____
Edytuj i uruchom kod