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 相关文章推荐
Linux中安装Python的交互式解释器IPython的教程
Jun 13 Python
Windows系统下多版本pip的共存问题详解
Oct 10 Python
数据清洗--DataFrame中的空值处理方法
Jul 03 Python
从请求到响应过程中django都做了哪些处理
Aug 01 Python
transform python环境快速配置方法
Sep 27 Python
Python完成哈夫曼树编码过程及原理详解
Jul 29 Python
Python如何读取文件中图片格式
Jan 13 Python
Python @property及getter setter原理详解
Mar 31 Python
Python 解决相对路径问题:"No such file or directory"
Jun 05 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
Jul 01 Python
浅析Python 责任链设计模式
Sep 11 Python
python3实现名片管理系统(控制台版)
Nov 29 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验证类的封装与使用方法详解
2019/01/10 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
jQuery模拟原生态App上拉刷新下拉加载更多页面及原理
2015/08/10 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
2016/09/04 Javascript
Angular 表单控件示例代码
2017/06/26 Javascript
如何编写一个d.ts文件的步骤详解
2018/04/13 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
JavaScript代码调试方法实例小结
2019/01/05 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
2019/01/06 Javascript
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
Windows系统配置python脚本开机启动的3种方法分享
2015/03/10 Python
Python Tkinter GUI编程入门介绍
2015/03/10 Python
python正则表达式match和search用法实例
2015/03/26 Python
python清除指定目录内所有文件中script的方法
2015/06/30 Python
用Python解数独的方法示例
2019/10/24 Python
PyQt5中向单元格添加控件的方法示例
2020/03/24 Python
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
Mansur Gavriel官网:纽约市的一个设计品牌
2019/05/02 全球购物
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
TUMI香港官网:国际领先的行李箱、背囊品牌
2021/03/01 全球购物
奶茶专卖店创业计划书
2014/01/18 职场文书
目标责任书范文
2014/04/14 职场文书
营销计划书
2015/01/17 职场文书
2015年材料员工作总结
2015/04/30 职场文书
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL