python闭包
2015-09-23 16:36
197 查看
def make_adder(addend): def adder(augend): return augend + addend return adder p = make_adder(23) q = make_adder(44) print p(100) print q(100)
运行结果:
123 144
分析一下:
我们发现,
make_adder是一个函数,包括一个参数
addend,比较特殊的地方是这个函数里面又定义了一个新函数,这个新函数里面的一个变量正好是外部
make_adder的参数.也就是说,外部传递过来的
addend参数已经和
adder函数绑定到一起了,形成了一个新函数,我们可以把
addend看做新函数的一个配置信息,配置信息不同,函数的功能就不一样了,也就是能得到定制之后的函数.
相关文章推荐
- Python 学习 (一) python的基本数据类型 元组 列表 字典
- python sorted operator.itemgetter
- python的编码问题
- python中的内建函数----reduce()
- ubuntu 安装python3
- 更换Mac python版本 & pycharm 版本
- pip:python包管理安装工具
- python 文件读写
- 【代码片段】python战舰
- python+django+新浪sae+有道API实现微信服务号自动翻译
- Ansible基本部署&&常用模块
- 正则表达式问题记录
- [原]打造Python开发环境之Python环境
- python 版websocket实现
- python常用代码
- 零基础学python-19.2 列表解析与序列映射函数map(2)增加分支测试与嵌套循环
- 零基础学python-19.2 列表解析与序列映射函数map(2)增加分支测试与嵌套循环
- 零基础学python-19.1 列表解析与序列映射函数map
- 零基础学python-19.1 列表解析与序列映射函数map
- 全面解读python web 程序的9种部署方式