为了账号安全,请及时绑定邮箱和手机立即绑定

Python 返回函数

由于函数 g 也是一个对象,函数名 g 就是指向函数 g 的变量,所以,最外层函数 f 可以返回变量 g,也就是函数 g 本身。这段话不明白是什么意思?

正在回答

2 回答

def f():
    print('call f()...')
    # 返回函数g:
    return g


话有点绕,其实很简单。

去掉干扰视线的定义函数g()的部分,可以看到,函数f()返回的是g,这里的g没有指向任何地方;


加上定义函数g()的部分后,可以看到,函数f()返回的g,这里的g指向的是函数g;

def f():
    print('call f()...')
    # 定义函数g:
    def g():
        print('call g()...')
    # 返回函数g:
    return g


0 回复 有任何疑惑可以回复我~

python是面向对象语言,万物皆对象。

g是一个函数对象

g()则可以理解是执行这个函数,

因此return g是返回g这个对象,return g()是返回这个函数执行后返回的对象

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Python 返回函数

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信