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实现从百度API获取天气的方法
Mar 11 Python
python3中bytes和string之间的互相转换
Feb 09 Python
Python3之文件读写操作的实例讲解
Jan 23 Python
python3.5 email实现发送邮件功能
May 22 Python
Python创建一个空的dataframe,并循环赋值的方法
Nov 08 Python
详解如何用django实现redirect的几种方法总结
Nov 22 Python
在python环境下运用kafka对数据进行实时传输的方法
Dec 27 Python
Python3中的bytes和str类型详解
May 02 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 Python
Django 查询数据库并返回页面的例子
Aug 12 Python
python处理自动化任务之同时批量修改word里面的内容的方法
Aug 23 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
Apr 20 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静态方法与非静态方法的用法区别
2016/05/17 PHP
PHP实现简易blog的制作
2016/10/24 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
javascript Math.random()随机数函数
2009/11/04 Javascript
浅析JS刷新框架中的其他页面 && JS刷新窗口方法汇总
2013/07/08 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
JavaScript操作DOM元素的childNodes和children区别
2015/04/01 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
2015/09/18 Javascript
关于JS中match() 和 exec() 返回值和属性的测试
2016/03/21 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
2016/07/19 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
2016/09/06 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
Vue2.0父子组件传递函数的教程详解
2017/10/16 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
jsonp跨域及实现百度首页联想功能的方法
2018/08/30 Javascript
vue做移动端适配最佳解决方案(亲测有效)
2018/09/04 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
Python3.x中自定义比较函数
2015/04/24 Python
在Python操作时间和日期之asctime()方法的使用
2015/05/22 Python
分析Python中设计模式之Decorator装饰器模式的要点
2016/03/02 Python
Python计算字符宽度的方法
2016/06/14 Python
Python中shutil模块的常用文件操作函数用法示例
2016/07/05 Python
用css3实现当鼠标移进去时当前亮其他变灰效果
2014/04/08 HTML / CSS
美国高级工作服品牌:Carhartt
2018/01/25 全球购物
个人近期表现材料
2014/02/11 职场文书
物理力学求职信
2014/02/18 职场文书
有关环保的标语
2014/06/13 职场文书
医学生求职信
2014/07/01 职场文书
2014年信访工作总结
2014/11/17 职场文书
个人汇报材料范文
2014/12/30 职场文书
酒店员工手册范本
2015/05/14 职场文书