Cuvântul cheie nonlocal și funcțiile imbricate
Să continuăm să lucrăm la înțelegerea domeniului de vizibilitate! În acest exercițiu, vei folosi cuvântul cheie nonlocal în interiorul unei funcții imbricate pentru a modifica valoarea unei variabile definite în domeniul de vizibilitate exterior.
Acest exercițiu face parte din cursul
Introducere în funcții în Python
Instrucțiuni pentru exercițiu
- Atribuie variabilei
echo_wordșirul de caracterewordconcatenat cu el însuși. - Folosește cuvântul cheie
nonlocalpentru a modifica valoarea luiecho_wordîn domeniul de vizibilitate exterior. - Modifică
echo_wordprin concatenarea sa cu '!!!'. - Apelează funcția
echo_shout(), transmițând ca argument unic șirul 'hello'.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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'
____