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持久性管理pickle模块详细介绍
Feb 18 Python
简单介绍Python中的JSON模块
Apr 08 Python
使用rst2pdf实现将sphinx生成PDF
Jun 07 Python
python中reload(module)的用法示例详解
Sep 15 Python
python处理csv数据动态显示曲线实例代码
Jan 23 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
Feb 07 Python
python学生信息管理系统(初级版)
Oct 17 Python
对DJango视图(views)和模版(templates)的使用详解
Jul 17 Python
使用keras和tensorflow保存为可部署的pb格式
May 25 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
Nov 24 Python
Django缓存Cache使用详解
Nov 30 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
Mar 03 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笔记之:基于面向对象设计的详解
2013/05/14 PHP
PHP对象实例化单例方法
2017/01/19 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
Yii框架where查询用法实例分析
2019/10/22 PHP
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
javascript实现的基于金山词霸网络翻译的代码
2010/01/15 Javascript
javascript XMLHttpRequest对象全面剖析
2010/04/24 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
jQuery.Form上传文件操作
2017/02/05 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
通过实例了解JS 连续赋值
2019/09/24 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
2020/08/04 Javascript
python进阶教程之异常处理
2014/08/30 Python
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
pandas带有重复索引操作方法
2018/06/08 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
简单分析python的类变量、实例变量
2019/08/23 Python
python实现简单成绩录入系统
2019/09/19 Python
Pyecharts绘制全球流向图的示例代码
2020/01/08 Python
python 已知三条边求三角形的角度案例
2020/04/12 Python
浅谈TensorFlow之稀疏张量表示
2020/06/30 Python
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
泰国最新活动和优惠:Megatix
2020/05/07 全球购物
护士节策划方案
2014/05/19 职场文书
殡葬服务心得体会
2014/09/11 职场文书
公司更名通知函
2015/04/24 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript
分析设计模式之模板方法Java实现
2021/06/23 Java/Android
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python