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实现简单字典树的方法
Apr 29 Python
Python面向对象编程之继承与多态详解
Jan 16 Python
基于Python实现的微信好友数据分析
Feb 26 Python
python在每个字符后添加空格的实例
May 07 Python
Python3.7中安装openCV库的方法
Jul 11 Python
Centos下实现安装Python3.6和Python2共存
Aug 15 Python
Python爬虫常用库的安装及其环境配置
Sep 19 Python
Mac下Anaconda的安装和使用教程
Nov 29 Python
python实现五子棋游戏
Jun 18 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
Mar 02 Python
python 19个值得学习的编程技巧
Aug 15 Python
python OpenCV学习笔记
Mar 31 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实现的在线人员函数库
2008/04/09 PHP
Zend Studio 无法启动的问题解决方法
2008/12/04 PHP
php 日期和时间的处理-郑阿奇(续)
2011/07/04 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
2014/03/08 PHP
使用PHP函数scandir排除特定目录
2014/06/12 PHP
destoon安装出现Internal Server Error的解决方法
2014/06/21 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
thinkPHP中配置的读取与C方法详解
2016/12/05 PHP
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
JavaScript Window浏览器对象模型方法与属性汇总
2015/04/20 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
浅谈Vue2.0父子组件间事件派发机制
2018/01/08 Javascript
微信小程序登录换取token的教程
2018/05/31 Javascript
vue2.0父子组件间传递数据的方法
2018/08/16 Javascript
vue 项目接口管理的实现
2019/01/17 Javascript
javascript异步编程的六种方式总结
2019/05/17 Javascript
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
python异步存储数据详解
2019/03/19 Python
python多进程并行代码实例
2019/09/30 Python
Python通用唯一标识符uuid模块使用案例
2020/09/10 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
日本食品网上商店:JaponShop.com
2017/11/28 全球购物
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
英国名牌男装店:Standout
2021/02/17 全球购物
海飞丝的广告词
2014/03/20 职场文书
财务担保书范文
2014/04/02 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
实习员工转正的评语汇总,以备不时之需
2019/12/17 职场文书
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers
利用Python实现模拟登录知乎
2022/05/25 Python