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 相关文章推荐
基于asyncio 异步协程框架实现收集B站直播弹幕
Sep 11 Python
Python处理Excel文件实例代码
Jun 20 Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
Sep 08 Python
python获取文件路径、文件名、后缀名的实例
Apr 23 Python
linux查找当前python解释器的位置方法
Feb 20 Python
利用PyCharm Profile分析异步爬虫效率详解
May 08 Python
调试Django时打印SQL语句的日志代码实例
Sep 12 Python
python中提高pip install速度
Feb 14 Python
Django查询优化及ajax编码格式原理解析
Mar 25 Python
Python爬虫中Selenium实现文件上传
Dec 04 Python
如何用 Python 处理不平衡数据集
Jan 04 Python
Python使用Turtle模块绘制国旗的方法示例
Feb 28 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音乐采集(部分代码)
2007/02/14 PHP
php+xml编程之xpath的应用实例
2015/01/24 PHP
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
如何快速的呈现我们的网页的技巧整理
2007/07/01 Javascript
JS应用之禁止抓屏、复制、打印
2008/02/21 Javascript
JavaScript解析URL参数示例代码
2013/08/12 Javascript
无刷新上传文件并返回自定义值
2015/06/11 Javascript
jquery实现邮箱自动填充提示功能
2015/11/17 Javascript
window.onerror()的用法与实例分析
2016/01/27 Javascript
jQuery实现放大镜效果实例代码
2016/03/17 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
JS JSOP跨域请求实例详解
2016/07/04 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
vue中keep-alive的用法及问题描述
2018/05/15 Javascript
详解封装基础的angular4的request请求方法
2018/06/05 Javascript
微信小程序倒计时功能实例代码
2018/07/17 Javascript
JS算法题之查找数字在数组中的索引位置
2019/05/15 Javascript
解决vue的过渡动画无法正常实现问题
2019/10/31 Javascript
微信小程序自定义底部弹出框功能
2020/11/18 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
[48:47]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python中global与nonlocal比较
2014/11/21 Python
Python编程实现的简单Web服务器示例
2017/06/22 Python
Python3如何使用多线程升程序运行速度
2020/08/11 Python
处理textarea中的换行和空格
2019/12/12 HTML / CSS
The Beach People美国:澳洲海滨奢华品牌
2018/07/05 全球购物
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
sealed修饰符是干什么的
2012/10/23 面试题
高级Java程序员面试要点
2013/08/02 面试题
初二物理教学反思
2014/01/29 职场文书
环保宣传语大全
2015/07/13 职场文书
《司马光》教学反思
2016/02/22 职场文书
再次探讨go实现无限 buffer 的 channel方法
2021/06/13 Golang
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python
十大经典日本动漫排行榜 海贼王第三,犬夜叉仅第八
2022/03/18 日漫
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript