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

python中返回函数

def f():
    print 'call f()...'
    def g():
        print 'call g()...'
    return g

x=f()
print x
print x()

应该怎么理解最后三行代码?

我认为x=f(x)是对函数的实例化,同样有返回值,但是未打印而已。

而第二个我就觉得比较诡异,他的返回值为什么是函数g的地址,不是应该还有一行函数f的打印语句么?

至于第三个,应该是函数内部调用内部函数吧,不知道这样理解对不对,希望大家交流下,谢谢!~

正在回答

1 回答

x 未执行,当然返回地址。x()执行了,返回执行的结果。

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

慕盖茨7070334 提问者

怎恶魔会没有执行呢?已经实例化的内容他
2016-11-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

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

进入课程

python中返回函数

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