Python的函数嵌套的使用方法


Posted in Python onJanuary 24, 2014

例子:

def re_escape(fn):
    def arg_escaped(this, *args):
        t = [isinstance(a, VerEx) and a.s or re.escape(str(a)) for a in args]
        return fn(this, *t)
    return arg_escaped

函数嵌套
python允许在定义函数的时候,其函数体内又包含另外一个函数的完整定义,这就是我们通常所说的嵌套定义。为什么?因为函数是用def语句定义的,凡是其他语句可以出现的地方,def语句同样可以出现。
像这样定义在其他函数内的函数叫做内部函数,内部函数所在的函数叫做外部函数。当然,我们可以多层嵌套,这样的话,除了最外层和最内层的函数之外,其它函数既是外部函数又是内部函数。

使用方法

spam = 99
def tester():
    def nested():
        global spam
        print('current=',spam)
        spam += 1
    return nested
#注意:打印 print 那行的代码调用是tester()()
#而不是tester().nested()
Python 相关文章推荐
Python实现的数据结构与算法之链表详解
Apr 22 Python
Python中if __name__ == '__main__'作用解析
Jun 29 Python
Python pass详细介绍及实例代码
Nov 24 Python
Python实现识别图片内容的方法分析
Jul 11 Python
Python读取csv文件分隔符设置方法
Jan 14 Python
简单了解python高阶函数map/reduce
Jun 28 Python
Python Web框架之Django框架Model基础详解
Aug 16 Python
python @classmethod 的使用场合详解
Aug 23 Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
Oct 30 Python
使用Python通过oBIX协议访问Niagara数据的示例
Dec 04 Python
Python3 使用pip安装git并获取Yahoo金融数据的操作
Apr 08 Python
Python查找算法的实现 (线性、二分,分块、插值查找算法)
Apr 24 Python
下载安装setuptool和pip linux安装pip    
Jan 24 #Python
python解析文件示例
Jan 23 #Python
python回调函数的使用方法
Jan 23 #Python
python中的对象拷贝示例 python引用传递
Jan 23 #Python
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
Jan 23 #Python
python使用scrapy解析js示例
Jan 23 #Python
php使用递归与迭代实现快速排序示例
Jan 23 #Python
You might like
PHP+Ajax实现验证码的实时验证
2016/07/20 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
PHP反射基础知识回顾
2020/09/10 PHP
prototype1.4中文手册
2006/09/22 Javascript
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
2012/10/11 Javascript
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
javascript+html5实现仿flash滚动播放图片的方法
2015/04/27 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
2015/10/26 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
js实现人民币大写金额形式转换
2016/04/27 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
第一次接触神奇的Bootstrap网格系统
2016/07/27 Javascript
使用jQuery调用XML实现无刷新即时聊天
2016/08/07 Javascript
深入理解requestAnimationFrame的动画循环
2016/09/20 Javascript
详解js树形控件—zTree使用总结
2016/12/28 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
深入浅析var,let,const的异同点
2018/08/07 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
React实现阿里云OSS上传文件的示例
2020/08/10 Javascript
如何在JS文件中获取Vue组件
2020/09/16 Javascript
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
2019/04/26 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
德国玩具商店:Planet Happy DE
2021/01/16 全球购物
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
出纳岗位职责范本
2013/12/01 职场文书
村党支部公开承诺书
2014/05/29 职场文书
小学教师自我评价
2015/03/04 职场文书
五星级酒店前台接待岗位职责
2015/04/02 职场文书
redis调用二维码时的不断刷新排查分析
2022/04/01 Redis