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中的ceil()方法使用教程
May 14 Python
Python实现队列的方法
May 26 Python
python实现多线程的方式及多条命令并发执行
Jun 07 Python
Python PyQt4实现QQ抽屉效果
Apr 20 Python
Python符号计算之实现函数极限的方法
Jul 15 Python
python 检查数据中是否有缺失值,删除缺失值的方式
Dec 02 Python
python 实现简单的FTP程序
Dec 27 Python
如何以Winsows Service方式运行JupyterLab
Aug 30 Python
详解python tkinter 图片插入问题
Sep 03 Python
Pycharm的Available Packages为空的解决方法
Sep 18 Python
一篇文章教你用python画动态爱心表白
Nov 22 Python
python抢购软件/插件/脚本附完整源码
Mar 04 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去除数组中重复的元素并按键名排序函数
2008/08/18 PHP
PHP面向对象分析设计的经验原则
2008/09/20 PHP
php用户注册页面利用js进行表单验证具体实例
2013/10/17 PHP
PHP面向对象教程之自定义类
2014/06/10 PHP
PHP两种实现无级递归分类的方法
2017/03/02 PHP
php封装一个异常的处理类
2017/06/08 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
JavaScript中的面向对象介绍
2012/06/30 Javascript
IE浏览器IFrame对象内存不释放问题解决方法
2014/08/22 Javascript
EasyUI中实现form表单提交的示例分享
2015/03/01 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
2016/05/12 Javascript
学习vue.js条件渲染
2016/12/03 Javascript
js鼠标移动时禁止选中文字
2017/02/19 Javascript
nodejs判断文件、文件夹是否存在及删除的方法
2017/11/10 NodeJs
vue项目中的webpack-dev-sever配置方法
2017/12/14 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
JavaScript实现动态生成表格
2020/08/02 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
[49:35]LGD vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
2018/02/26 Python
python opencv 图像拼接的实现方法
2019/06/27 Python
python3.6生成器yield用法实例分析
2019/08/23 Python
Python 如何创建一个线程池
2020/07/28 Python
Python暴力破解Mysql数据的示例
2020/11/09 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
css3 盒模型以及box-sizing属性全面了解
2016/09/20 HTML / CSS
俄罗斯茶和咖啡网上商店:Tea.ru
2021/01/26 全球购物
公司行政经理岗位职责
2013/12/24 职场文书
感恩母亲节活动方案
2014/03/04 职场文书
2014年法院工作总结
2014/11/24 职场文书
职工宿舍管理制度
2015/08/05 职场文书
写一个Python脚本自动爬取Bilibili小视频
2021/04/24 Python
使用canvas仿Echarts实现金字塔图的实例代码
2021/11/11 HTML / CSS
python人工智能human learn绘图可创建机器学习模型
2021/11/23 Python