return 函数名 的结构

Python中的函数名相当于内存地址,内部代码块为储存在内存地址中的字符串,所以一个函数的return值也可以为另一个函数的函数名,将该函数的运行结果赋给另一个变量后,以“变量名(要求的参数)”的形式就可以运行被return的函数。
注意无论在何位置以何种形式调用函数,函数的作用域都只和它被声明时的作用域有关。
几个例子
在return位置放入另一个函数名后调用该函数

def test1():
    print("from test1")


def test2():
    print("from test2")
    return test1


res = test2()
res()

调用位置不影响作用域

name = "YY"


def test1():
    name = "MB"

    def bar():
        name = "Lucky"
        print(name)

    return bar


res = test1()
res()
name = "YY"


def test1():
    name = "Lucky"

    def test2():
        name = "MB"

        def test3():
            name = "Alex"
            print(name)

        return test3

    return test2


test1()()()

猜你喜欢

转载自blog.csdn.net/weixin_43690603/article/details/84332519