Python的函数嵌套的使用方法

yipeiwu_com6年前Python基础

例子:

复制代码 代码如下:

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()

相关文章

Pandas分组与排序的实现

Pandas分组与排序的实现

一、pandas分组 1、分组运算过程:split->apply->combine 拆分:进行分组的根据 应用:每个分组运行的计算规则 合并:把每个分组的计算结...

python 判断一个进程是否存在

源代码如下:复制代码 代码如下:#-*- coding:utf-8 -*- def check_exsit(process_name): import win32com.client W...

使用Python的Twisted框架编写非阻塞程序的代码示例

先来看一段代码: # ~*~ Twisted - A Python tale ~*~ from time import sleep # Hello, I'm a develop...

Python设置在shell脚本中自动补全功能的方法

本篇博客将会简短的介绍,如何在ubuntu中设置python自动补全功能。 需求:由于python中的内建函数较多,我们在百纳乘时,可能记不清函数的名字,同时自动补全功能,加快了我们开发...

python实现关闭第三方窗口的方法

背景 最近在测试一款软件的关闭第三方窗口的功能,感觉实现应该挺简单的。所以就尝试了。由于说它的实现是靠c++实现的,本人对c++实在不在行,但是python的第三方库实际上是封装了一套w...