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中对列表排序实例
Jan 04 Python
使用python实现正则匹配检索远端FTP目录下的文件
Mar 25 Python
python实现从字典中删除元素的方法
May 04 Python
Python3几个常见问题的处理方法
Feb 26 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
Jul 06 Python
Django框架创建mysql连接与使用示例
Jul 29 Python
对YOLOv3模型调用时候的python接口详解
Aug 26 Python
python同步windows和linux文件
Aug 29 Python
python实现ip地址查询经纬度定位详解
Aug 30 Python
python如何通过闭包实现计算器的功能
Feb 22 Python
解决Python Matplotlib绘图数据点位置错乱问题
May 16 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
Nov 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验证码函数
2016/05/19 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
2017/06/02 PHP
jquery 常用操作方法
2010/01/28 Javascript
javascript 节点排序 2
2011/01/31 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
2016/09/17 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
JS根据生日月份和日期计算星座的简单实现方法
2016/11/24 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
2016/12/23 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
微信小程序之获取当前位置经纬度以及地图显示详解
2017/05/09 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
原生javascript实现的全屏滚动功能示例
2017/09/19 Javascript
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
ES6中异步对象Promise用法详解
2019/07/31 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
vuejs实现下拉框菜单选择
2020/10/23 Javascript
Python的装饰器用法学习笔记
2016/06/24 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
Python中偏函数用法示例
2018/06/07 Python
Python使用itertools模块实现排列组合功能示例
2018/07/02 Python
浅析matlab中imadjust函数
2020/02/27 Python
Python标准库shutil模块使用方法解析
2020/03/10 Python
使用Python-OpenCV消除图像中孤立的小区域操作
2020/07/05 Python
荷兰街头时尚之家:Funkie House
2019/03/18 全球购物
初中科学教学反思
2014/01/21 职场文书
班级标语大全
2014/06/21 职场文书
合同和协议有什么区别?
2014/10/08 职场文书
党员廉洁自律个人总结
2015/02/13 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
golang switch语句的灵活写法介绍
2021/05/06 Golang
python必学知识之文件操作(建议收藏)
2021/05/30 Python
Node实现搜索框进行模糊查询
2021/06/28 Javascript