问答详情
源自:8-7 Python返回函数

Python 返回函数

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

提问者:回首已是千年 2022-05-02 23:07

个回答

  • 土斤土斤
    2023-02-08 11:38:13

    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


  • lshuiw
    2022-12-07 14:25:54

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

    g是一个函数对象

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

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