鱼C论坛

 找回密码
 立即注册
查看: 1521|回复: 9

[已解决]以下是“闭包”的一个例子,请你目测下会打印什么内容?

[复制链接]
发表于 2018-9-10 14:46:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如图,为什么第一次print(a())会出现测试 而后面几次却不会?
捕获.JPG
最佳答案
2018-9-10 14:52:44
不是第一次print(a())打印的,而是a=funX()时打印的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-9-10 14:52:44 | 显示全部楼层    本楼为最佳答案   
不是第一次print(a())打印的,而是a=funX()时打印的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-9-10 14:55:05 | 显示全部楼层
a=funX()
运行了funX函数,所以有打印测试,5
函数运行的结果是a=funY
而后边相当于只运行print(funY())没有运行到funX里的funY以外的内容
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-10 15:01:06 | 显示全部楼层
冬雪雪冬 发表于 2018-9-10 14:52
不是第一次print(a())打印的,而是a=funX()时打印的

知道了 多谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-10 15:04:22 | 显示全部楼层
塔利班 发表于 2018-9-10 14:55
a=funX()
运行了funX函数,所以有打印测试,5
函数运行的结果是a=funY

知道了谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-10 19:59:38 | 显示全部楼层
塔利班 发表于 2018-9-10 14:55
a=funX()
运行了funX函数,所以有打印测试,5
函数运行的结果是a=funY

我想再问下为什么a=funX()时会直接运行这个函数呢?有没有办法使它不运行呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-10 20:02:12 | 显示全部楼层
赋值表达式,右边是个函数,所以执行右边的函数,然后返回的值给左边的
不运行,可以,关键你要什么效果
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-10 20:11:51 | 显示全部楼层
塔利班 发表于 2018-9-10 20:02
赋值表达式,右边是个函数,所以执行右边的函数,然后返回的值给左边的
不运行,可以,关键你要什么效果

就是a=这个函数.但却不运行这个函数.也就是不会显示测试这两个字.有什么办法吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-10 20:15:26 | 显示全部楼层
a=FunX
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-10 20:26:27 | 显示全部楼层

a=funX之后,然后我想再用a实现6,7,8,9这样的效果.该怎么办?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-21 02:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表