鱼C论坛

 找回密码
 立即注册
查看: 1665|回复: 27

[已解决]求助这个套娃和函数、return的用法

[复制链接]
发表于 2020-4-23 09:09:25 | 显示全部楼层
1. f 是函数的地址,f() 是函数的返回值,不懂就复习一下
2. print(fs) 是因为你用 fs.append(f) 将函数的地址添加了进去,参考 1. 理解一下
3. fs 是在函数内定义的列表,和 3. print(fs) 的内容相同
4. f1, f2, f3 = count() 等价于 f1 = count();f2 = count();f3 = count()
5. 单独 f3 = count() 不会报错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-23 09:22:48 | 显示全部楼层
失文 发表于 2020-4-22 23:11
万分感谢!
1、也就是说count()函数执行完后是一个list类型,f1,f2,f3 = count()这样赋值后,f1,f2,f3都 ...


帮你改了一下:
  1. def count():
  2.     fs = [i * i for i in range(1, 4)]
  3.     return fs
复制代码


也可以传入参数:

  1. def count(stop):
  2.     fs = [i * i for i in range(1, stop)]
  3.     return fs
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-23 13:58:24 From FishC Mobile | 显示全部楼层
失文 发表于 2020-4-23 13:42
f1,f2,f3 = count(),根据我测试的结果,只要等号左边的变量数量和等号右边列表(这里指的是count(),但 ...

肯定不会报错,这输入合法的调用
我这边测的是不会错的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-23 13:59:03 From FishC Mobile | 显示全部楼层
永恒的蓝色梦想 发表于 2020-4-23 13:53
f3 = count() 不可能报错

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

使用道具 举报

发表于 2020-4-23 14:47:06 From FishC Mobile | 显示全部楼层
失文 发表于 2020-4-23 14:19
附件是截图

哦,我知道了
你在打印的时候出了问题
f3() 等价于 [1, 4, 9](),而列表不是一个函数,所以报错
看好哪一行,f3 = count() 肯定不会报错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-23 14:47:53 From FishC Mobile | 显示全部楼层
失文 发表于 2020-4-23 14:17
[/img]
老板你看嘛

我不是老板
我还只是个学生
……
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-23 14:48:48 From FishC Mobile | 显示全部楼层
失文 发表于 2020-4-23 14:19
附件是截图


你把括号去掉就行了,
你的函数可以简化成我上面给你改的那个函数,就一行
14楼
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-4 03:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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