鱼C论坛

 找回密码
 立即注册
查看: 1117|回复: 5

新人每日一问,关于函数

[复制链接]
发表于 2022-3-17 21:48:52 | 显示全部楼层 |阅读模式

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

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

x
不太理解函数体内的 return是什么作用:
如下,应该怎么输出值?

在IDLE可以运行出来,
新建py文件就运行不出来结果

def ds(x):
    return 2*x+1
ds(5)

改成
def ds(x):
    print(2*x+1)


ds(5)
正常了 结果为11


问:此处的return到底什么作用。为什么在IDLE可以运行出来结果11
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-3-17 21:57:44 | 显示全部楼层
return就是把你的函数运行的结果返回给调用函数的地方,比如你的第一段代码,并非函数没有正常运行,只不过在这段代码中
ds(5)的值就是11
你可以试着把代码改成这样
def ds(x):
    return 2*x+1
a=ds(5)
print(a)
你会发现一样能在控制台打印出11,但是原代码只是调用了ds函数,并没有对ds函数返回的结果做操作,所以看起来有点像是函数没有正常工作。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-17 22:14:59 From FishC Mobile | 显示全部楼层
return就是返回的意思,函数内部的值或者说数据,都不是全局变量,而是局部数据,但是如果我们又需要用经过函数处理后的数据怎么办?这时候就需要用return,将经过函数处理后的结果通过return返回到函数本身,这样就可以把局部数据用于全局。可能你又会疑问为什么不用全局变量,全局变量是唯一的,如果在多个地方需要多个数据那么就会出现问题,而函数返回的值就不同了,是独立的,互不干扰。至于你说的在idle可以显示结果,那是交互模式为了能够看得清楚,实际上不经过print的数据都是看不到的,就好像你口袋里有100块钱,这100块钱一直有,但是print就是把钱拿出来展示给大家看,如果没有print就看不到,而交互模式就是x光,你可以理解为上帝模式,它啥都知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-3-17 22:15:08 From FishC Mobile | 显示全部楼层
好好研究研究函数是一个什么鬼,就会知道return有多重要
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-18 11:21:43 | 显示全部楼层
就是说,你领导派你去做事,他做完没做完,完成结果如何,你觉得是应该你主动汇报好还是坐等领导call你好?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-28 16:04:47 | 显示全部楼层
你把return理解为“代表”或者是“代替”吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 22:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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