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中反射用法实例
Mar 27 Python
python关闭windows进程的方法
Apr 18 Python
python计算牛顿迭代多项式实例分析
May 07 Python
python实现斐波那契数列的方法示例
Jan 12 Python
python简单实例训练(21~30)
Nov 15 Python
Python读取视频的两种方法(imageio和cv2)
Apr 15 Python
PyCharm在新窗口打开项目的方法
Jan 17 Python
postman模拟访问具有Session的post请求方法
Jul 15 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
Jun 03 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
Jun 04 Python
Python CategoricalDtype自定义排序实现原理解析
Sep 11 Python
python调用ffmpeg命令行工具便捷操作视频示例实现过程
Nov 01 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
CI框架验证码CAPTCHA辅助函数用法实例
2014/11/05 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
javascript 特殊字符串
2009/02/25 Javascript
jQuery创建插件的代码分析
2011/04/14 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
D3.js实现折线图的方法详解
2016/09/21 Javascript
jQuery给指定的table动态添加删除行的操作方法
2016/10/12 Javascript
JS针对Array的各种操作汇总
2016/11/29 Javascript
浅谈$_FILES数组为空的原因
2017/02/16 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
2018/05/27 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
2018/05/30 jQuery
vue组件横向树实现代码
2018/08/02 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
[41:52]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第二场 2月22日
2021/03/11 DOTA
Python range、enumerate和zip函数用法详解
2019/09/11 Python
基于python实现蓝牙通信代码实例
2019/11/19 Python
CSS3 清除浮动的方法示例
2018/06/01 HTML / CSS
工程管理英文求职信
2014/03/18 职场文书
社保委托书怎么写
2014/08/02 职场文书
2014年招商工作总结
2014/11/22 职场文书
贪污检举信范文
2015/03/02 职场文书
《假如》教学反思
2016/02/17 职场文书
go 实现简易端口扫描的示例
2021/05/22 Golang
python tkinter Entry控件的焦点移动操作
2021/05/22 Python
Python必备技巧之函数的使用详解
2022/04/04 Python
Python实现数据的序列化操作详解
2022/07/07 Python