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 相关文章推荐
Windows8下安装Python的BeautifulSoup
Jan 22 Python
python中的计时器timeit的使用方法
Oct 20 Python
Python实现识别手写数字 简易图片存储管理系统
Jan 29 Python
windows环境下tensorflow安装过程详解
Mar 30 Python
python3.x实现发送邮件功能
May 22 Python
python如何读取bin文件并下发串口
Jul 05 Python
python设计tcp数据包协议类的例子
Jul 23 Python
python中的数组赋值与拷贝的区别详解
Nov 26 Python
python ftplib模块使用代码实例
Dec 31 Python
tensorflow 实现自定义layer并添加到计算图中
Feb 04 Python
Python操作Excel把数据分给sheet
May 20 Python
Python3压缩和解压缩实现代码
Mar 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
PHP获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
深入解析Session是否必须依赖Cookie
2013/08/02 PHP
一个简单且很好用的php分页类
2013/10/26 PHP
php源码之将图片转化为data/base64数据流实例详解
2016/11/27 PHP
php实现文件上传及头像预览功能
2017/01/15 PHP
JS 判断undefined的实现代码
2009/11/26 Javascript
30个最佳jQuery Lightbox效果插件分享
2011/04/11 Javascript
JavaScript高级程序设计(第3版)学习笔记5 js语句
2012/10/11 Javascript
js控制CSS样式属性语法对照表
2012/12/11 Javascript
DWZ刷新dialog解决方法
2013/03/03 Javascript
JavaScript中实现Map的示例代码
2015/09/09 Javascript
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
js css自定义分页效果
2017/02/24 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
Vue2.0如何发布项目实战
2017/07/27 Javascript
详解tween.js的使用教程
2017/09/14 Javascript
微信小程序实现tab和swiper切换结合效果
2020/07/17 Javascript
JavaScript生成简单等差数列
2017/11/28 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
微信小程序收藏功能的实现代码
2018/06/12 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
js实现点击展开隐藏效果(实例代码)
2018/09/28 Javascript
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
使用Python的Supervisor进行进程监控以及自动启动
2014/05/29 Python
python 使用值来排序一个字典的方法
2018/11/16 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
python3中numpy函数tile的用法详解
2019/12/04 Python
Python sep参数使用方法详解
2020/02/12 Python
Python实现分数序列求和
2020/02/25 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
指导教师评语
2014/04/26 职场文书
保安辞职信范文
2015/02/28 职场文书
2015年清明节演讲稿范文
2015/03/17 职场文书
小学英语教学反思范文
2016/02/15 职场文书
Java 异步任务计算FutureTask
2022/04/28 Java/Android