ПочатиПочніть безкоштовно

Ключове слово nonlocal і вкладені функції

Ще раз попрактикуймося з областями видимості! У цій вправі ви використаєте ключове слово nonlocal у вкладеній функції, щоб змінити значення змінної, визначеної в охоплювальній (зовнішній) області видимості.

Ця вправа є частиною курсу

Вступ до функцій у Python

Переглянути курс

Інструкції до вправи

  • Присвойте echo_word рядок word, конкатенований із самим собою.
  • Використайте ключове слово nonlocal, щоб змінити значення echo_word в охоплювальній області видимості.
  • Змініть echo_word на echo_word, об'єднаний із '!!!'.
  • Викличте функцію echo_shout(), передавши їй єдиний аргумент 'hello'.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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'
____
Редагувати та запускати код