Słowo kluczowe nonlocal i funkcje zagnieżdżone
Czas dalej ćwiczyć zasięg! W tym ćwiczeniu użyjesz słowa kluczowego nonlocal wewnątrz funkcji zagnieżdżonej, aby zmienić wartość zmiennej zdefiniowanej w otaczającym zakresie.
To ćwiczenie jest częścią kursu
Wprowadzenie do funkcji w Pythonie
Instrukcje do ćwiczenia
- Przypisz do
echo_wordłańcuch znakówwordpołączony z samym sobą. - Użyj słowa kluczowego
nonlocal, aby zmienić wartośćecho_wordw otaczającym zakresie. - Zmień
echo_wordnaecho_wordpołączone z '!!!'. - Wywołaj funkcję
echo_shout(), przekazując jej jeden argument 'hello'.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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'
____