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的Django框架中显示对象子集的方法
Jul 21 Python
Windows上使用virtualenv搭建Python+Flask开发环境
Jun 07 Python
教你用Python写安卓游戏外挂
Jan 11 Python
深入浅析python 协程与go协程的区别
May 09 Python
提升Python效率之使用循环机制代替递归函数
Jul 23 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
Feb 26 Python
Python实现疫情通定时自动填写功能(附代码)
May 27 Python
python中有函数重载吗
May 28 Python
Linux安装Python3如何和系统自带的Python2并存
Jul 23 Python
Python 调用 ES、Solr、Phoenix的示例代码
Nov 23 Python
python opencv通过4坐标剪裁图片
Jun 05 Python
Python加密技术之RSA加密解密的实现
Apr 08 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
建立文件交换功能的脚本(一)
2006/10/09 PHP
深入解析PHP中的(伪)多线程与多进程
2013/07/01 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
2016/10/25 PHP
Laravel6.0.4中将添加计划任务事件的方法步骤
2019/10/15 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
2019/10/17 PHP
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
JS烟花背景效果实现方法
2015/03/03 Javascript
Java File类的常用方法总结
2015/03/18 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
jQuery插件fullPage.js实现全屏滚动效果
2016/12/02 Javascript
JavaScript实现滑动导航栏效果
2017/08/30 Javascript
three.js实现3D模型展示的示例代码
2017/12/31 Javascript
一文搞懂ES6中的Map和Set
2019/05/20 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
微信小程序实现加入购物车滑动轨迹
2020/11/18 Javascript
在Python的Django框架中使用通用视图的方法
2015/07/21 Python
python xml.etree.ElementTree遍历xml所有节点实例详解
2016/12/04 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
python特性语法之遍历、公共方法、引用
2018/08/08 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
Python集成开发工具Pycharm的安装和使用详解
2020/03/18 Python
python excel多行合并的方法
2020/12/09 Python
HTML5 直播疯狂点赞动画实现代码 附源码
2020/04/14 HTML / CSS
请解释在new与override的区别
2012/10/29 面试题
如何执行一个shell程序
2012/11/23 面试题
2014年三八妇女节活动方案
2014/02/28 职场文书
初中学习计划书范文
2014/09/15 职场文书
2014年教师党员自我评价范文
2014/09/22 职场文书
高校教师个人总结
2015/02/10 职场文书
团委工作总结2015
2015/04/02 职场文书
Python 中的单分派泛函数你真的了解吗
2021/06/22 Python
Python查找算法的实现 (线性、二分,分块、插值查找算法)
2022/04/24 Python