ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Atribua a echo_word a string word, concatenada com ela mesma.
  • Use a palavra-chave nonlocal para alterar o valor de echo_word no escopo de inclusão.
  • Altere echo_word para echo_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'
____
Editar e executar o código