Python返回内两层函数

来源:8-7 Python返回函数

LiuHefeng

2023-05-29 09:41

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回答

还没有人回答问题,可以看看其他问题

Python3 进阶教程(新版)

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

41952 学习 · 236 问题

查看课程

相似问题