闭包的使用

闭包的使用

需求:根据配置信息使用闭包实现不同人的对话信息

例如对话:

张三:到北京了吗?

李四:已经到了,放心吧

实现步骤

  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('你好')
jerry('我在呢')

输出结果:

tom: 您好
tom: 你在么
jerry: 你好
jerry: 我在呢

通过案例,可以看出闭包不仅可以保存外部函数的变量,还可以提高代码的复用性。