La parola chiave non locale e le funzioni annidate
Lavoriamo ancora una volta sulla tua padronanza della portata! In questo esercizio, utilizzerai la parola chiave nonlocal all'interno di una funzione annidata per modificare il valore di una variabile definita nell'ambito che la racchiude.
Questo esercizio fa parte del corso
Introduzione alle funzioni in Python
Istruzioni dell'esercizio
- Assegna a
echo_wordla stringaword, concatenata con se stessa. - Usa la parola chiave
nonlocalper modificare il valore diecho_wordnell'ambito che lo circonda. - Modifica
echo_wordinecho_wordconcatenato con '!!!'. - Chiama la funzione
echo_shout(), passandole un singolo argomento "hello".
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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'
____