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 27 Python
python中defaultdict的用法详解
Jun 07 Python
Linux系统(CentOS)下python2.7.10安装
Sep 26 Python
python binascii 进制转换实例
Jun 12 Python
python3 assert 断言的使用详解 (区别于python2)
Nov 27 Python
Python三元运算与lambda表达式实例解析
Nov 30 Python
flask框架渲染Jinja模板与传入模板变量操作详解
Jan 25 Python
适合Python初学者的一些编程技巧
Feb 12 Python
解决Django no such table: django_session的问题
Apr 07 Python
使用Python FastAPI构建Web服务的实现
Jun 08 Python
python 制作本地应用搜索工具
Feb 27 Python
python自动化操作之动态验证码、滑动验证码的降噪和识别
Aug 30 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
关于手调机和数调机的选择
2021/03/02 无线电
咖啡豆分级制度 咖啡豆等级分类 咖啡豆是按口感分类的吗?
2021/03/05 新手入门
用PHP写的MySQL数据库用户认证系统代码
2007/03/22 PHP
fleaphp下不确定的多条件查询的巧妙解决方法
2008/09/11 PHP
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
php有道翻译api调用方法实例
2014/12/22 PHP
PHP中的self关键字详解
2019/06/23 PHP
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
2010/12/06 Javascript
基于JQuery实现相同内容合并单元格的代码
2011/01/12 Javascript
将光标定位于输入框最右侧实现代码
2012/12/04 Javascript
屏蔽script注入小例子
2013/11/12 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
JavaScript中关联原型链属性特性
2016/02/13 Javascript
使用jquery.form.js实现图片上传的方法
2016/05/05 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
从零学习node.js之详解异步控制工具async(八)
2017/02/27 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
jQuery Position方法使用和兼容性
2017/08/23 jQuery
详解从新建vue项目到引入组件Element的方法
2017/08/29 Javascript
Vue自定义弹窗指令的实现代码
2018/08/13 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
2019/11/07 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
[49:29]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python使用scrapy解析js示例
2014/01/23 Python
Python2.x版本中maketrans()方法的使用介绍
2015/05/19 Python
python 读取修改pcap包的例子
2019/07/23 Python
python 实现socket服务端并发的四种方式
2020/12/14 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
英国领先的男装设计师服装独立零售商:Repertoire Fashion
2020/10/19 全球购物
一套带网友答案的.NET笔试题
2016/12/06 面试题
售后服务科岗位职责范文
2013/11/13 职场文书
副处级干部考察材料
2014/05/17 职场文书
高中班级口号
2014/06/09 职场文书
中国梦演讲稿开场白
2014/08/28 职场文书
保密工作承诺书
2014/08/29 职场文书