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实现SMTP发送邮件详细教程
Mar 02 Python
python 容器总结整理
Apr 04 Python
python如何读写json数据
Mar 21 Python
多个应用共存的Django配置方法
May 30 Python
selenium+python实现自动化登录的方法
Sep 04 Python
解决Numpy中sum函数求和结果维度的问题
Dec 06 Python
Pytorch实现基于CharRNN的文本分类与生成示例
Jan 08 Python
最新2019Pycharm安装教程 亲测
Feb 28 Python
tensorflow使用CNN分析mnist手写体数字数据集
Jun 17 Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
Nov 25 Python
python基础学习之递归函数知识总结
May 26 Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
Apr 12 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
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
Laravel 5.0 发布 新版本特性详解
2015/02/10 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
JAVASCRIPT 对象的创建与使用
2021/03/09 Javascript
ExtJS 设置级联菜单的默认值
2010/06/13 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
jquery实现图片按比例缩放示例
2014/07/01 Javascript
js怎么判断flash swf文件是否加载完毕
2014/08/14 Javascript
jQuery实现分隔条左右拖动功能
2015/11/21 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
Bootstrap风格的zTree右键菜单
2017/02/17 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
利用原生js实现html5小游戏之打砖块(附源码)
2018/01/03 Javascript
jQuery实现移动端扭蛋机抽奖
2020/11/08 jQuery
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
Python使用xlrd模块操作Excel数据导入的方法
2015/05/26 Python
python 美化输出信息的实例
2018/10/15 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
Python多叉树的构造及取出节点数据(treelib)的方法
2019/08/09 Python
python实现飞机大战游戏(pygame版)
2020/10/26 Python
解决springboot yml配置 logging.level 报错问题
2020/02/21 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
深入剖析webstorage[html5的本地数据处理]
2016/07/11 HTML / CSS
计算机专业个人简短的自我评价
2013/10/23 职场文书
师范大学应届生求职信
2013/11/21 职场文书
初中体育教学反思
2014/01/14 职场文书
创业大赛策划书
2014/03/01 职场文书
老兵退伍标语
2014/10/07 职场文书
学校社团活动总结
2015/05/07 职场文书
雷锋观后感
2015/06/10 职场文书
文艺演出主持词
2015/07/01 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL