A palavra-chave nonlocal e funções aninhadas
Vamos trabalhar mais uma vez para que você domine o escopo! Neste exercício, você usará a palavra-chave nonlocal
dentro de uma função aninhada para alterar o valor de uma variável definida no escopo circundante.
Este exercício faz parte do curso
Introdução a funções em Python
Instruções do exercício
- Atribua a
echo_word
a stringword
, concatenada com ela mesma. - Use a palavra-chave
nonlocal
para alterar o valor deecho_word
no escopo de inclusão. - Altere
echo_word
paraecho_word
concatenado com '!!!'. - Chame a função
echo_shout()
, passando a ela um único argumento 'hello'.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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'
____