Erste SchritteKostenlos loslegen

Das Schlüsselwort nonlocal und verschachtelte Funktionen

Lass uns noch einmal an deiner Beherrschung des Gültigkeitsbereichs arbeiten! In dieser Übung verwendest du das Schlüsselwort nonlocal innerhalb einer verschachtelten Funktion, um den Wert einer im umschließenden Gültigkeitsbereich definierten Variablen zu ändern.

Diese Übung ist Teil des Kurses

Einführung in Funktionen in Python

Kurs anzeigen

Anleitung zur Übung

  • Weise echo_word den String word mit sich selbst verkettet zu.
  • Verwende das Schlüsselwort nonlocal, um den Wert von echo_word im umschließenden Gültigkeitsbereich zu ändern.
  • Ändere echo_word zu echo_word verkette mit '!!!'.
  • Rufe die Funktion echo_shout() auf und übergib ihr ein einzelnes Argument 'hello'.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# 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'
____
Bearbeiten und Ausführen von Code