Python 返回函数

来源:8-7 Python返回函数

回首已是千年

2022-05-02 23:07

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

写回答 关注

2回答

  • 土斤土斤
    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()是返回这个函数执行后返回的对象

Python3 进阶教程(新版)

学习函数式、模块和面向对象编程,掌握Python高级程序设计

41910 学习 · 236 问题

查看课程

相似问题