20讲第6题最后三行print没看懂怎么来的
本帖最后由 寒暄371 于 2020-11-14 11:37 编辑最后三个print怎么来的,为什么是不同的值?
说说我的理解,先定义funX,然后内嵌funY,返回x给funY是6,继续返回给funX还是6,第一个print(),打印a=6,怎么后面继续打印a,后面的就没看明白了
def funX():
x = 5
def funY():
nonlocal x
x += 1
return x
return funY
a = funX()
print(a())
print(a())
print(a())
funX返回的是函数funY,因此:
a = funX() 等价于 a = funY
因此 a()就等价于funY()
参考下下面的帖子吧,善用论坛的搜索功能哦~
[已解决]20讲第 6 题
https://fishc.com.cn/thread-175884-1-1.html
(出处: 鱼C论坛)
suchocolate 发表于 2020-11-14 11:56
funX返回的是函数funY,因此:
a = funX() 等价于 a = funY
因此 a()就等价于funY()
非常感谢你的回复,直到看到你楼下的链接才彻底看明白 Twilight6 发表于 2020-11-14 14:22
参考下下面的帖子吧,善用论坛的搜索功能哦~
[已解决]20讲第 6 题
非常感谢,以后先搜索帖子再发问,看样子这个答案还是困扰不少新鱼友
页:
[1]