1. 案例
需求: 根据配置信息使用闭包实现不同人的对话信息,例如对话:
张三: 到北京了吗? 李四: 已经到了,放心吧。
2. 实现步骤说明
- 定义外部函数接收不同的配置信息参数,参数是人名
- 定义内部函数接收对话信息参数
- 在内部函数里面把配置信息和对话信息进行拼接输出
3. 功能代码的实现
# 外部函数
def config_name(name):
# 内部函数
def say_info(info):
print(name + ": " + info)
return say_info
tom = config_name("Tom")
tom("你好!")
tom("你好, 在吗?")
jerry = config_name("jerry")
jerry("不在, 不和玩!")
运行结果:
Tom: 你好!
Tom: 你好, 在吗?
jerry: 不在, 不和玩!
闭包案例说明:
- 闭包还可以提高代码的可重用性,不需要再手动定义额外的功能函数。
5. 小结
- 闭包不仅可以保存外部函数的变量还可以提高代码的可重用行。