访问内嵌函数
A.def funOut():
def funIn():
print('宾果!你成功访问到我啦!')
return funIn()
B.def funOut():
def funIn():
print('宾果!你成功访问到我啦!')
return funIn
1. A和B差了最后一个(),为什么不会报错?
2. 要访问funIn,前者需要funOut(),为什么后者需要funOut()()? 这是函数闭包。
前者仅仅是返回一个值,是把执行完内嵌函数后的值返回。
后者是返回一个可执行函数,后者是直接返回内嵌函数的地址,是一个可以执行的函数。
页:
[1]