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解决鸡兔同笼问题的方法
Dec 20 Python
Python脚本在Appium库上对移动应用实现自动化测试
Apr 17 Python
Python随机读取文件实现实例
May 25 Python
Python实现字符串与数组相互转换功能示例
Sep 22 Python
python基础之包的导入和__init__.py的介绍
Jan 08 Python
Python Unittest自动化单元测试框架详解
Apr 04 Python
Django 跨域请求处理的示例代码
May 02 Python
分享vim python缩进等一些配置
Jul 02 Python
Windows下Python3.6安装第三方模块的方法
Nov 22 Python
Python Excel处理库openpyxl使用详解
May 09 Python
pycharm部署、配置anaconda环境的教程
Mar 24 Python
基于python和flask实现http接口过程解析
Jun 15 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 IP及IP段进行访问限制的代码
2008/12/17 PHP
PHP里8个鲜为人知的安全函数分析
2014/12/09 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
2019/10/11 PHP
有关PHP 中 config.m4 的探索
2020/08/26 PHP
javascript setTimeout()传递函数参数(包括传递对象参数)
2010/04/07 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
纯javascript实现自动发送邮件
2015/10/21 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
es6 字符串String的扩展(实例讲解)
2017/08/03 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
2019/01/16 Javascript
Vue学习笔记之计算属性与侦听器用法
2019/12/07 Javascript
Vuex实现数据共享的方法
2019/12/20 Javascript
[42:52]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
跟老齐学Python之总结参数的传递
2014/10/10 Python
在Python中操作字典之clear()方法的使用
2015/05/21 Python
Python OS模块常用函数说明
2015/05/23 Python
Python 文件管理实例详解
2015/11/10 Python
windows下ipython的安装与使用详解
2016/10/20 Python
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
关于tf.reverse_sequence()简述
2020/01/20 Python
keras 模型参数,模型保存,中间结果输出操作
2020/07/06 Python
CSS3的column-fill属性对齐列内容高度的用法详解
2016/07/01 HTML / CSS
Ellos丹麦:时尚和服装在线
2016/09/19 全球购物
管道维修工岗位职责
2013/12/27 职场文书
六十岁生日答谢词
2014/01/10 职场文书
学历公证书范本
2014/04/09 职场文书
2016年小学教师政治学习心得体会
2016/01/23 职场文书
python 如何将两个实数矩阵合并为一个复数矩阵
2021/05/19 Python
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python