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 关于supper 的 用法和原理
Feb 28 Python
Windows环境下python环境安装使用图文教程
Mar 13 Python
PyQt5每天必学之布局管理
Apr 19 Python
Python使用pylab库实现绘制直方图功能示例
Jun 01 Python
python中for用来遍历range函数的方法
Jun 08 Python
selenium+python实现1688网站验证码图片的截取功能
Aug 14 Python
如何不用安装python就能在.NET里调用Python库
Jul 12 Python
Python下应用opencv 实现人脸检测功能
Oct 24 Python
python实现图片插入文字
Nov 26 Python
python利用JMeter测试Tornado的多线程
Jan 12 Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 Python
Python如何将将模块分割成多个文件
Aug 04 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
改进的IP计数器
2006/10/09 PHP
oracle资料库函式库
2006/10/09 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名
2017/05/26 PHP
javascript 节点遍历函数
2010/03/28 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
原生JavaScript实现异步多文件上传
2015/12/02 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
《javascript少儿编程》location术语总结
2018/05/27 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
[02:33]DOTA2亚洲邀请赛趣味视频之吐真话筒
2018/03/31 DOTA
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
使用Python发送邮件附件以定时备份MySQL的教程
2015/04/25 Python
Python selenium的基本使用方法分析
2019/12/21 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
Python读写Excel表格的方法
2021/03/02 Python
CSS3结构性伪类选择器九种写法
2012/04/18 HTML / CSS
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
浅谈Html5多线程开发之WebWorkers
2018/05/02 HTML / CSS
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
关于读书的演讲稿600字
2014/08/27 职场文书
5.12护士节活动总结
2015/02/10 职场文书
运动与健康自我评价
2015/03/09 职场文书
于丹讲座视频观后感
2015/06/15 职场文书
教师节获奖感言
2015/07/31 职场文书
Python requests用法和django后台处理详解
2022/03/19 Python
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA