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 控制语句
Nov 03 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
Sep 18 Python
python如何读写json数据
Mar 21 Python
从django的中间件直接返回请求的方法
May 30 Python
python 获取毫秒数,计算调用时长的方法
Feb 20 Python
Django用户认证系统 User对象解析
Aug 02 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
Feb 03 Python
Python读取表格类型文件代码实例
Feb 17 Python
python实现密码验证合格程序的思路详解
Jun 01 Python
Python Unittest原理及基本使用方法
Nov 06 Python
Python Pytorch查询图像的特征从集合或数据库中查找图像
Apr 09 Python
python manim实现排序算法动画示例
Aug 14 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 采集心得技巧
2009/05/15 PHP
测试php函数的方法
2013/11/13 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
2015/09/25 PHP
PHP的Yii框架中View视图的使用进阶
2016/03/29 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
2016/12/27 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
javascript globalStorage类代码
2009/06/04 Javascript
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
2010/09/03 Javascript
JavaScript 设计模式 安全沙箱模式
2010/09/24 Javascript
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
Angular设置title信息解决SEO方面存在问题
2016/08/19 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
2020/08/11 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
Vue.extend 登录注册模态框的实现
2020/12/29 Vue.js
Python检测网站链接是否已存在
2016/04/07 Python
Python之父谈Python的未来形式
2016/07/01 Python
Python2/3中urllib库的一些常见用法
2017/12/19 Python
Python 一句话生成字母表的方法
2019/01/02 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
django的settings中设置中文支持的实现
2019/04/28 Python
Python 最强编辑器详细使用指南(PyCharm )
2019/09/16 Python
JD Sports西班牙:英国领先的运动服装公司
2020/01/06 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
行政管理人员精品工作推荐信
2013/11/04 职场文书
岗位竞聘书范文
2014/03/31 职场文书
留学顾问岗位职责
2014/04/14 职场文书
电话客服专员岗位职责
2014/06/28 职场文书
物理学专业求职信
2014/07/04 职场文书
2014大学生职业生涯规划书最新范文
2014/09/13 职场文书
未受刑事制裁公证证明
2014/09/20 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书