return 函数名 的结构

本文探讨了Python中函数名作为内存地址的概念,解释了如何将一个函数作为另一个函数的返回值,并通过实例展示了函数作用域的特性。文章还强调了无论在何处调用函数,其作用域仅取决于函数声明时的位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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()()()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值