1、案例
需求:根据配置信息使用闭包实现不同人的对话信息,例如对话:
张三:到北京了吗?李四:已经到了,方心吧。
2、实现步骤说明
1)定义外部函数接收不同的配置信息参数,参数是人名。
2)定义内部函数接收对话信息参数
3)在内部函数里面把配置信息和对话信息进行拼接输出
3、功能代码的实现
#外部函数接收姓名参数
def config_name(name):
#内部函数保存外部函数的参数,并且完成数据显示的组成
def inner(msg):
print(name + ":" + msg)
print(id(inner))
#外部函数要返回内部函数
return inner
#创建tom闭包实例(对象)
tom = config_name("tom")
#创建jerry闭包实例
jerry = config_name("jerry")
#如果执行tom闭包,因为已经保持了name参数,那么以后再输入的时候都是,tom说:xxx
tom("到北京了吗?")
jerry("已经到了,方心吧")
tom("好的")
jerry("谢谢")