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 中__name__ = '__main__' 的作用
Jul 05 Python
Python计算两个日期相差天数的方法示例
May 23 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
Sep 26 Python
python实现批量解析邮件并下载附件
Jun 19 Python
一文了解Python并发编程的工程实现方法
May 31 Python
基于树莓派的语音对话机器人
Jun 17 Python
python3中类的继承以及self和super的区别详解
Jun 26 Python
Python实现字符串中某个字母的替代功能
Oct 21 Python
Pytorch 的损失函数Loss function使用详解
Jan 02 Python
Django ORM实现按天获取数据去重求和例子
May 18 Python
Python Django form 组件动态从数据库取choices数据实例
May 19 Python
python实现最短路径的实例方法
Jul 19 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+DBM的同学录程序(3)
2006/10/09 PHP
如何实现给定日期的若干天以后的日期
2006/10/09 PHP
php判断变量类型常用方法
2012/04/24 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
php封装的图片(缩略图)处理类完整实例
2016/10/19 PHP
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
2013/11/05 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
JS中的异常处理方法分享
2013/12/22 Javascript
js网页右下角提示框实例
2014/10/14 Javascript
js中键盘事件实例简析
2015/01/10 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
2016/04/26 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
JavaScript数据结构之链表的实现
2017/03/19 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
2017/07/22 jQuery
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
2018/03/13 Javascript
Selenium执行Javascript脚本参数及返回值过程详解
2020/04/01 Javascript
[01:53]DOTA2超级联赛专访Zhou 五年职业青春成长
2013/05/29 DOTA
Python3删除排序数组中重复项的方法分析
2019/01/31 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
使用python接入微信聊天机器人
2020/03/31 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
de Bijenkorf比利时官网:荷兰最知名的百货商店
2017/06/29 全球购物
巴西网上药店:Drogaria Araujo
2021/01/06 全球购物
.NET remoting中对象激活的两种方式
2015/06/08 面试题
社会实践自我鉴定
2013/11/07 职场文书
德语专业求职信
2014/03/12 职场文书
查摆问题对照检查材料
2014/08/28 职场文书
2014年体检中心工作总结
2014/12/23 职场文书
党员检讨书范文
2014/12/27 职场文书
公司优秀员工推荐信
2015/03/24 职场文书
先进党支部事迹材料2016
2016/02/26 职场文书
防止web项目中的SQL注入
2021/12/06 MySQL