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中optionParser模块的使用方法实例教程
Aug 29 Python
python随机生成指定长度密码的方法
Apr 04 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
Jun 16 Python
numpy排序与集合运算用法示例
Dec 15 Python
python基于twisted框架编写简单聊天室
Jan 02 Python
python如何修改装饰器中参数
Mar 20 Python
python方法生成txt标签文件的实例代码
May 10 Python
django drf框架中的user验证以及JWT拓展的介绍
Aug 12 Python
Django框架之中间件MiddleWare的实现
Dec 30 Python
解决python gdal投影坐标系转换的问题
Jan 17 Python
Python龙贝格法求积分实例
Feb 29 Python
python实现井字棋小游戏
Mar 04 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 SQL防注入代码集合
2008/04/25 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
php实现三级级联下拉框
2016/04/17 PHP
prototype 1.5相关知识及他人笔记
2006/12/16 Javascript
基于jquery的一行代码轻松实现拖动效果
2010/12/28 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
2012/07/31 Javascript
JavaScript 判断浏览器是否支持SVG的代码
2013/03/21 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
Vue.js第三天学习笔记(计算属性computed)
2016/12/01 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
微信小程序实现Swiper轮播图效果
2019/11/22 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
[04:22]DOTA2大事件之护国神翼
2020/08/14 DOTA
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
videocapture库制作python视频高速传输程序
2013/12/23 Python
python数据结构之二叉树的遍历实例
2014/04/29 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
分享一个简单的python读写文件脚本
2017/11/25 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
django 多数据库配置教程
2018/05/30 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
python 搭建简单的http server,可直接post文件的实例
2019/01/03 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
Python3列表内置方法大全及示例代码小结
2019/05/10 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
Python基于进程池实现多进程过程解析
2020/04/30 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
数据库方面面试题
2012/04/22 面试题
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
护理专业毕业生自荐书
2014/05/24 职场文书
启动仪式策划方案
2014/06/14 职场文书
优秀毕业生找工作自荐信
2014/06/23 职场文书
工作失职检讨书
2015/01/26 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书