LoslegenKostenlos starten

Das Schlüsselwort nonlocal und verschachtelte Funktionen

Lass uns dein Wissen zum Geltungsbereich etwas weiter festigen. 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

<Kurs>Einführung in Funktionen in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • 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 Geltungsbereich zu ändern.
  • Ändere echo_word zu echo_word verkettet mit '!!!'.
  • Rufe die Funktion echo_shout() auf und übergib ihr ein einzelnes Argument 'hello'.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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'
____
Code bearbeiten und ausführen