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

返回函数中,为什么输入g()不能调用g方法,x()就可以呢,还有什么方法,可以调用g()函数方法,让其打印g方法的语句呢

def f():
    print('call f()...')
    # 定义函数g:
    def g():
        print('call g()...')
    # 返回函数g:
    return g
>>>   # 调用f()
call f()...
>>> x   # 变量x是f()返回的函数:
<function f.<locals>.g at 0x7f4a4936dbf8>
>>>   # x指向函数,因此可以调用
call g()...   # 调用x()就是执行g()函数定义的代码


正在回答

1 回答

因为g()在f()内部,所以无法直接访问g(),

变量x是f()返回的函数,它指向g(),调用x()就是执行g()函数定义的代码


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

举报

0/150
提交
取消

返回函数中,为什么输入g()不能调用g方法,x()就可以呢,还有什么方法,可以调用g()函数方法,让其打印g方法的语句呢

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