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

Python返回内两层函数

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

   # 定义函数g:
   def g():
       print('call g()...')

       # 定义函数h
       def h():
           print('call h()...')

       # 返回函数h
       return h

   # 返回函数g:
   return g


x = f()
print(x)
y = x()
print(y)
z = y()
print(z)

>>> <function f.<locals>.g at 0x0000020E584749A0>

>>> call g()...

>>> <function f.<locals>.g.<locals>.h at 0x0000020E58474F40>

>>> call h()...

>>> None


为什么z作为返回函数h的对象,却没有地址呢?


正在回答

举报

0/150
提交
取消

Python返回内两层函数

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