鱼C论坛

 找回密码
 立即注册
查看: 1789|回复: 18

[已解决]不太明白这个return的含义,求解释呀

[复制链接]
发表于 2018-2-16 09:57:46 | 显示全部楼层 |阅读模式

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

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

x
如图
最佳答案
2018-2-22 15:10:43
其实很好理解,说原理不如自己执行一次
类似如下:
def fun1(num):
    print(num)
    return num + 1

fun1(3)
函数执行一次,此处只会得到一个print的输出,即在函数体里面的print的输出

def fun1(num):
    print(num)
    return num + 1

ret = fun1(3)
print(ret)
此时函数执行一次却有两个输出结果,根据你的需求选择自己需要的输出

这个会在后续的递归函数中得到比较深刻的认识
屏幕快照 2018-02-16 上午9.55.09.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-16 10:01:04 | 显示全部楼层
下面的字说得很清楚了,return 就是函数到这就结束了,后面的语句都不会执行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-16 10:24:12 | 显示全部楼层
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-16 11:00:54 From FishC Mobile | 显示全部楼层
如果是return 1的话,你可以把hello()当作值为1用,就是这样。而且函数读到return就结束了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-16 16:32:02 | 显示全部楼层
mariomm 发表于 2018-2-16 10:24
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

那print 和return的区别是什么呢  print只是把函数的形式打印出来了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-16 16:33:40 | 显示全部楼层
mariomm 发表于 2018-2-16 10:24
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

那print 和return的区别是什么呢  print只是把函数的形式打印出来了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-16 16:35:11 | 显示全部楼层
mariomm 发表于 2018-2-16 10:24
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

那print 和return的区别是什么呢  print只是把函数的形式打印出来了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-16 19:52:51 | 显示全部楼层
return  表示结束函数并且返回一个值
这里return 后面是空,所以返回的也是空,也就是单纯代表结束本函数,所以同一缩进下的print()函数就不执行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-16 20:16:21 | 显示全部楼层
和碰到break,循环结束一样,碰到return,函数就结束了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-16 22:11:59 | 显示全部楼层
夕颜梦雨 发表于 2018-2-16 19:52
return  表示结束函数并且返回一个值
这里return 后面是空,所以返回的也是空,也就是单纯代表结束本函数,所 ...

非常感谢~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-16 22:12:49 | 显示全部楼层
夕颜梦雨 发表于 2018-2-16 19:52
return  表示结束函数并且返回一个值
这里return 后面是空,所以返回的也是空,也就是单纯代表结束本函数,所 ...

非常感谢~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-16 22:21:54 | 显示全部楼层
°蓝鲤歌蓝 发表于 2018-2-16 10:01
下面的字说得很清楚了,return 就是函数到这就结束了,后面的语句都不会执行了。

那为什么不用break呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-16 22:24:58 | 显示全部楼层
不想呆在桂平 发表于 2018-2-16 22:21
那为什么不用break呢?

这个是用来跳出循环的吧,不是给来退出函数的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-21 13:43:42 | 显示全部楼层
return 就是执行到这一行代码就返回一个值 可以返回字符串也可以返回整数 比如说return‘哈哈哈' 执行到这一行返回的就是哈哈哈这三个字 如果是 return 123 那么返回的就是123这个数 我也不知道我这么解释对不对 不过是自己是这么理解的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-22 15:10:43 | 显示全部楼层    本楼为最佳答案   
其实很好理解,说原理不如自己执行一次
类似如下:
def fun1(num):
    print(num)
    return num + 1

fun1(3)
函数执行一次,此处只会得到一个print的输出,即在函数体里面的print的输出

def fun1(num):
    print(num)
    return num + 1

ret = fun1(3)
print(ret)
此时函数执行一次却有两个输出结果,根据你的需求选择自己需要的输出

这个会在后续的递归函数中得到比较深刻的认识
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-23 09:47:22 | 显示全部楼层
运运520 发表于 2018-2-22 15:10
其实很好理解,说原理不如自己执行一次
类似如下:
def fun1(num):

fun1(3)print之后还会执行return吗 这两个怎么感觉是一样的呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-23 10:46:21 | 显示全部楼层
effy1995 发表于 2018-2-23 09:47
fun1(3)print之后还会执行return吗 这两个怎么感觉是一样的呢?

你仔细看看上面两段代码,理解的东西谁都帮不了你。。。print在函数体里面,return是函数返回,print之后确实都会return,但是这个return的结果如果你不获取的话是不会主动到输出里面的,类似理解为这段函数体执行后对应的内存里面的一个值,一种map映射的关系。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-23 12:08:51 | 显示全部楼层
运运520 发表于 2018-2-23 10:46
你仔细看看上面两段代码,理解的东西谁都帮不了你。。。print在函数体里面,return是函数返回,print之后 ...

嗯嗯 非常感谢~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-12 23:41:46 | 显示全部楼层
effy1995 发表于 2018-2-16 16:35
那print 和return的区别是什么呢  print只是把函数的形式打印出来了吗?

print()是返回的一个字符串
return 表达式
可以返回各种对象,字符串,函数,列表,元组.....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 11:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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