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
Anleitung zur Übung
- Weise
echo_wordden Stringwordmit sich selbst verkettet zu. - Verwende das Schlüsselwort
nonlocal, um den Wert vonecho_wordim umschließenden Geltungsbereich zu ändern. - Ändere
echo_wordzuecho_wordverkettet 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'
____