Python函数嵌套实例


Posted in Python onSeptember 23, 2014

在Python中函数可以作为参数进行传递,而也可以赋值给其他变量(类似Javascript,或者C/C++中的函数指针);

类似Javascript,Python支持函数嵌套,Javascript嵌套函数的应用模式对Python适用;

>>> def multiplier(factor):

... def multiple(number):

... return number * factor

... return multiple

...

>>>

>>> multiplier(3)(3)

9

>>> multiplier(4)(3)

与嵌套函数紧密相关的就是闭包特性,举一个简单的例子:

>>> def test():

... a = {'name': 'wyj'}

... def f():

... return a['name']

... return f

...

>>> def test():

... a = {'name': 'wyj'}

... def f():

... return a['name']

... return a,f

...

>>> a,f = test()

>>> f()

'wyj'

>>> a['name'] = 'ljq'

>>> f()

'ljq'

例子3

#! /usr/bin/python
def yao1(a=1,b=32):
	def yao2(c=54):
		def yao3(d=3):
			def yao4(e=10):
				return a+b+c+d+e
			return yao4
		return yao3
	return yao2

print yao1()()()()
Python 相关文章推荐
python监控文件或目录变化
Jun 07 Python
利用Anaconda完美解决Python 2与python 3的共存问题
May 25 Python
python实现识别手写数字 python图像识别算法
Mar 23 Python
Python中%是什么意思?python中百分号如何使用?
Mar 20 Python
Python实现自定义顺序、排列写入数据到Excel的方法
Apr 23 Python
Python3.6使用tesseract-ocr的正确方法
Oct 17 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
May 06 Python
python实现感知机线性分类模型示例代码
Jun 02 Python
Pycharm运行加载文本出现错误的解决方法
Jun 27 Python
keras中的卷积层&池化层的用法
May 22 Python
Python实现快速大文件比较代码解析
Sep 04 Python
pytorch实现ResNet结构的实例代码
May 17 Python
Python中的自定义函数学习笔记
Sep 23 #Python
Python中的exec、eval使用实例
Sep 23 #Python
Python的高级Git库 Gittle
Sep 22 #Python
Python实现抓取网页并且解析的实例
Sep 20 #Python
跟老齐学Python之字典,你还记得吗?
Sep 20 #Python
跟老齐学Python之再深点,更懂list
Sep 20 #Python
跟老齐学Python之画圈还不简单吗?
Sep 20 #Python
You might like
使用PHP计算两个路径的相对路径
2013/06/14 PHP
使用PHP导出Word文档的原理和实例
2013/10/21 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
最新的10款jQuery内容滑块插件分享
2011/09/18 Javascript
js 浏览本地文件夹系统示例代码
2013/10/24 Javascript
Bootstrap模块dropdown实现下拉框响应
2016/05/22 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
Windows下Node.js安装及环境配置方法
2017/09/18 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
2017/10/25 Javascript
详细分析jsonp的原理和实现方式
2017/11/20 Javascript
JS 中document.write()的用法和清空的原因浅析
2017/12/04 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
2018/03/12 Javascript
Vue自定义弹窗指令的实现代码
2018/08/13 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
浅谈Vue SSR中的Bundle的具有使用
2019/11/21 Javascript
[01:18:33]Secret vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[02:40]2018年度DOTA2最佳新人-完美盛典
2018/12/16 DOTA
12步教你理解Python装饰器
2016/02/25 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
2016/06/14 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
2018/11/30 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
Python字符串格式化输出代码实例
2019/11/22 Python
PyCharm刷新项目(文件)目录的实现
2020/02/14 Python
python3将变量输入的简单实例
2020/08/19 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
2020/11/17 Python
英格兰足协官方商店:England Store
2019/07/12 全球购物
什么是Assembly(程序集)
2014/09/14 面试题
最经典的大学生职业生涯规划范文
2014/03/05 职场文书
讲座主持词
2014/03/20 职场文书
综治宣传月活动总结
2014/04/28 职场文书
写给老师的感谢信
2015/01/20 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书