首页
Python中文网
在线手册
Python入门
Linux教程
Python高级教程
登录
注册
用户名
Email
自动登录
找回密码
密码
登录
立即注册
扫一扫,访问微社区
只需一步,快速开始
论坛
BBS
Python教程
在线手册
Python入门
Linux教程
Python高级教程
Python函数详解
搜索
本版
帖子
用户
道具
勋章
任务
设置
退出
Python论坛 - 国内最好的Python中文社区
»
论坛
›
技术交流
›
python问答 - 求助悬赏区 Help!
›
函数作为返回值,有疑问请大大指导~
返回列表
查看:
1822
|
回复:
3
[求助]
函数作为返回值,有疑问请大大指导~
马踏飞燕雪没青
当前离线
积分
3
1
主题
3
帖子
3
积分
贫民
贫民, 积分 3, 距离下一级还需 57 积分
贫民, 积分 3, 距离下一级还需 57 积分
积分
3
发消息
马踏飞燕雪没青
发表于 2018-1-30 15:13:12
|
显示全部楼层
|
阅读模式
本帖最后由 马踏飞燕雪没青 于 2018-1-30 15:14 编辑
def
count():
fs = []
for
i
in
range
(
1
,
4
):
def
f():
return
i*i
fs.append(f)
return
fs
f1, f2, f3 = count()
print
(f1())
print
(f2())
print
(f3())
运行结果:
>>>9
>>>9
>>>9
1.为什么运行结果是数字不是集合?
2.为什么三个f结果一样?
谢谢(♡˙︶˙♡)
回复
使用道具
举报
马踏飞燕雪没青
当前离线
积分
3
1
主题
3
帖子
3
积分
贫民
贫民, 积分 3, 距离下一级还需 57 积分
贫民, 积分 3, 距离下一级还需 57 积分
积分
3
发消息
马踏飞燕雪没青
楼主
|
发表于 2018-1-30 15:13:53
|
显示全部楼层
def count():
fs = []
for i in range(1, 4):
def f():
return i*i
fs.append(f)
return fs
f1, f2, f3 = count()
print(f1())
print(f2())
print(f3())
运行结果:
>>>9
>>>9
>>>9
回复
支持
反对
使用道具
举报
马踏飞燕雪没青
当前离线
积分
3
1
主题
3
帖子
3
积分
贫民
贫民, 积分 3, 距离下一级还需 57 积分
贫民, 积分 3, 距离下一级还需 57 积分
积分
3
发消息
马踏飞燕雪没青
楼主
|
发表于 2018-1-31 11:18:54
|
显示全部楼层
f1, f2, f3 = count(),这句话的意思是f1=count()[0],f2=count()[1],f3=count()[2].
所以懂了
回复
支持
反对
使用道具
举报
newlearn
当前离线
积分
8
2
主题
8
帖子
8
积分
贫民
贫民, 积分 8, 距离下一级还需 52 积分
贫民, 积分 8, 距离下一级还需 52 积分
积分
8
发消息
newlearn
发表于 2018-2-12 18:01:36
|
显示全部楼层
典型闭包问题 执行完for循环后 i 的值是 3 执行函数输出结果肯定是9
回复
支持
反对
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表