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_worda stringword, concatenada com ela mesma. - Use a palavra-chave
nonlocalpara alterar o valor deecho_wordno escopo de inclusão. - Altere
echo_wordparaecho_wordconcatenado 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'
____