嵌套函数返回的问题
def funOut():def funIn():
print('宾果!你成功访问到我啦!')
return funIn
funOut()()
这段代码为什么需要 在funOut函数后面用两个小括号? 第一个括号是调用
第二个括号还是调用 wp231957 发表于 2021-6-7 11:43
第一个括号是调用
第二个括号还是调用
我知道是调用,我的意思是为什么 一个括号不返回值,而两个括号才会返回 funIn 函数? sc-tbm 发表于 2021-6-7 11:45
我知道是调用,我的意思是为什么 一个括号不返回值,而两个括号才会返回 funIn 函数?
这东西没多难吧
sc-tbm 发表于 2021-6-7 11:45
我知道是调用,我的意思是为什么 一个括号不返回值,而两个括号才会返回 funIn 函数?
也许这样 好理解 ???
>>> def funOut():
... def funIn():
... print('宾果!你成功访问到我啦!')
... return funIn
...
>>> 内部函数地址=funOut()
>>> 内部函数调用=内部函数地址()
宾果!你成功访问到我啦!
>>> wp231957 发表于 2021-6-7 12:02
这东西没多难吧
这个好理解一些,因为是编程0基础,所以很多运行机制都不了解
这里的意思是,funOut 函数不加括号,表示返回它的内存地址
然而加一个括号的情况下,由于funOut函数返回的是内部函数funIn的值
而返回 return funIn 函数没有小括号,因此返回的也是它的内存地址,
所以最终 funOut 函数如果要调用funIn的返回值,需要再加一个小括号? sc-tbm 发表于 2021-6-7 12:37
这个好理解一些,因为是编程0基础,所以很多运行机制都不了解
这里的意思是,funOut 函数不加括号,表示 ...
是这个样子的
页:
[1]