关键字 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'
____