LoslegenKostenlos loslegen

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

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 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 Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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