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
Anleitung zur Übung
- Weise
echo_word
den Stringword
mit sich selbst verkettet zu. - Verwende das Schlüsselwort
nonlocal
, um den Wert vonecho_word
im umschließenden Gültigkeitsbereich zu ändern. - Ändere
echo_word
zuecho_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'
____