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中from module import * 的一个坑
Jul 20 Python
Python探索之Metaclass初步了解
Oct 28 Python
Django中使用celery完成异步任务的示例代码
Jan 23 Python
Python实现XML文件解析的示例代码
Feb 05 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
May 10 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
Aug 05 Python
python函数参数(必须参数、可变参数、关键字参数)
Aug 16 Python
Python 静态方法和类方法实例分析
Nov 21 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
Dec 22 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
Jan 20 Python
详解vscode实现远程linux服务器上Python开发
Nov 10 Python
浅析Python实现DFA算法
Jun 26 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类自动加载器实现方法
2015/07/28 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
JS类定义原型方法的两种实现的区别评论很多
2007/09/12 Javascript
JavaScript获得选中文本内容的方法
2008/12/02 Javascript
JavaScript常用验证函数实例汇总
2014/11/25 Javascript
jQuery左侧大图右侧小图焦点图幻灯切换代码分享
2015/08/19 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
jQuery利用sort对DOM元素进行排序操作
2016/11/07 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
浅谈JavaScript面向对象--继承
2019/03/20 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
vue增加强缓存和版本号的实现方法
2019/05/01 Javascript
小程序实现横向滑动日历效果
2019/10/21 Javascript
[01:23]一分钟告诉你 DOTA2为什么叫信仰2
2014/06/20 DOTA
python线程池的实现实例
2013/11/18 Python
python实现堆栈与队列的方法
2015/01/15 Python
Python 类与元类的深度挖掘 II【经验】
2016/05/06 Python
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
python/sympy求解矩阵方程的方法
2018/11/08 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
详解Python做一个名片管理系统
2019/03/14 Python
python支持多线程的爬虫实例
2019/12/21 Python
Python内置函数locals和globals对比
2020/04/28 Python
python 双循环遍历list 变量判断代码
2020/05/04 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
Keras 加载已经训练好的模型进行预测操作
2020/06/17 Python
python urllib和urllib3知识点总结
2021/02/08 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
大学生预备党员自我评价分享
2013/11/16 职场文书
企业消防安全制度
2014/02/02 职场文书
函授本科自我鉴定
2014/02/04 职场文书
董事长助理岗位职责
2014/02/18 职场文书
印刷技术专业自荐信
2014/09/18 职场文书
保卫工作个人总结
2015/03/03 职场文书
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js