新人每日一问,关于函数
不太理解函数体内的 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 return就是把你的函数运行的结果返回给调用函数的地方,比如你的第一段代码,并非函数没有正常运行,只不过在这段代码中
ds(5)的值就是11
你可以试着把代码改成这样def ds(x):
return 2*x+1
a=ds(5)
print(a)
你会发现一样能在控制台打印出11,但是原代码只是调用了ds函数,并没有对ds函数返回的结果做操作,所以看起来有点像是函数没有正常工作。 return就是返回的意思,函数内部的值或者说数据,都不是全局变量,而是局部数据,但是如果我们又需要用经过函数处理后的数据怎么办?这时候就需要用return,将经过函数处理后的结果通过return返回到函数本身,这样就可以把局部数据用于全局。可能你又会疑问为什么不用全局变量,全局变量是唯一的,如果在多个地方需要多个数据那么就会出现问题,而函数返回的值就不同了,是独立的,互不干扰。至于你说的在idle可以显示结果,那是交互模式为了能够看得清楚,实际上不经过print的数据都是看不到的,就好像你口袋里有100块钱,这100块钱一直有,但是print就是把钱拿出来展示给大家看,如果没有print就看不到,而交互模式就是x光,你可以理解为上帝模式,它啥都知道 好好研究研究函数是一个什么鬼,就会知道return有多重要 就是说,你领导派你去做事,他做完没做完,完成结果如何,你觉得是应该你主动汇报好还是坐等领导call你好? 你把return理解为“代表”或者是“代替”吧
页:
[1]