鱼C论坛

 找回密码
 立即注册
查看: 4451|回复: 11

[已解决]return的用法,求粗俗易懂的解释

[复制链接]
发表于 2018-5-29 18:47:05 | 显示全部楼层 |阅读模式

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

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

x
最近学小甲鱼的视频,里边一直会用到return ,小甲鱼说返回一个值,都是什么意思啊,还有加return和不加return有什么区别啊,总之求各位大佬给我说一下return粗俗易懂的用法,解释啊什么的,多谢多谢
最佳答案
2018-5-30 16:49:22
本帖最后由 Rockit 于 2018-5-30 16:52 编辑

def自定义函数后头跟一个return的话,这个return返回的值就是函数运行的结果;如果没有写return返回值,函数就算运行了也不会结果,但会返回一个None类型的结果。
我再补充一点,帮助你理解:
你在程序中定义一个函数肯定是为了实现某些功能(譬如得到某些计算结果),但仅仅是计算了没有输出可不行,return的功能就是将函数运行的结果返回。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-5-29 20:25:58 | 显示全部楼层
如你写了一个加法的函数,参数为2和3,则return 5
num = add(2, 3)
num的值就是5
如没有return则就没有返回值了,例如print函数就没有返回值。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-5-29 22:05:21 | 显示全部楼层
冬雪雪冬 发表于 2018-5-29 20:25
如你写了一个加法的函数,参数为2和3,则return 5
num = add(2, 3)
num的值就是5

正在加速理解 多谢指点
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-30 03:13:40 | 显示全部楼层
return就是一个函数的返回值,如果一个函数中没有return那他就不会返回任何东西。
在python中如果一个函数什么都不返回就会默认返回一个None对象。
比如你定义了一个函数用来查看一个数字是不是奇数
def odd(number):
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-30 03:35:33 | 显示全部楼层
return就是一个函数的返回值,如果一个函数中没有return那就是什么都不返回。
在python中,如果一个函数没有return或者什么都不return那就会默认返回一个None(可以理解为无,或者空)。
比如说
def fun():
    print("这个函数没有return")

def fun():
    print("这个函数什么都不返回")
    return

以上两个fun函数的返回值是一样的,就是返回一个None,如果你让一个变量等于它f = fun()
然后你再查看f的类型type(f)的话 那你会得到<class 'NoneType'>这个回答 就是说f现在是个None对象

如果你有个查看某个数字是不是奇数的函数的话
def odd(number):
    if number % 2 == 0:
        return False
    else:
        return True
这个odd函数接收一个number(数字)参数,然后执行if语句
如果这个number % 2之后等于0的话就是说这个number不是奇数,这个函数将会返回False
否者返回True。
如果我们想知道1是不是奇数我们只需要调用odd(1)然后看他的返回值就好了

假设这个odd函数没有返回值

def odd(number):
    if number % 2 == 0:
        return
    else:
        return

那么我们调用odd(1)的时候将什么都不知道。

或者你想算一个数字的多少次方

def power(x, y):
    result = 1
    for i in range(y):
        result *= x;
    return result

这个power函数有2个参数(x 和 y),x代表你想乘于多少次方的数字,y就代表次方。
假设我们写了power(5, 2)那么我们将得到25 但是如果我们没有返回值,那我们就不知道5的2次方是多少了。

当然你也可以返回其它东西,比如说一个列表这样你就能一次性返回很多个不同类型的变量了。
比如 return(['魚c', 1, 1.23, True])

return还有个用法就是结束这个函数
比如说

def fun():
    print("这里是return前")
    return
    print("这里是return后")
   
如果我们调用fun()函数的话我们将看到"这里是return前"而不会看到"这里是return后"
因为当fun函数执行到return语句时,这个函数会认为这个时候要结束函数了,于是之后的代码就会被忽略了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-30 08:48:50 | 显示全部楼层
简单来说就是函数的返回值,举个栗子

def tmp():
    return 1
>>> tmp() #运行函数tmp()后得到返回值
1

lz可能会问 return 和 print的区别,print仅仅是打印、并无返回值
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-30 16:49:22 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Rockit 于 2018-5-30 16:52 编辑

def自定义函数后头跟一个return的话,这个return返回的值就是函数运行的结果;如果没有写return返回值,函数就算运行了也不会结果,但会返回一个None类型的结果。
我再补充一点,帮助你理解:
你在程序中定义一个函数肯定是为了实现某些功能(譬如得到某些计算结果),但仅仅是计算了没有输出可不行,return的功能就是将函数运行的结果返回。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-1 20:30:49 | 显示全部楼层
thexiosi 发表于 2018-5-30 08:48
简单来说就是函数的返回值,举个栗子

def tmp():

嗯嗯 谢谢谢谢 你写的很好 我可以看懂了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-1 20:31:39 | 显示全部楼层
Rockit 发表于 2018-5-30 16:49
def自定义函数后头跟一个return的话,这个return返回的值就是函数运行的结果;如果没有写return返回值,函 ...

感谢这位大哥的指点 谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-1 20:33:06 | 显示全部楼层
大蟒蛇吃饭团 发表于 2018-5-30 03:35
return就是一个函数的返回值,如果一个函数中没有return那就是什么都不返回。
在python中,如果一个函数没 ...

你好 哥  你写的emmmm太长了 也不是通俗易懂 但我还是看完了  抱歉没有给你最佳回复 抱歉
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-1 21:49:28 | 显示全部楼层
何嘿嘿打灰灰 发表于 2018-6-1 20:33
你好 哥  你写的emmmm太长了 也不是通俗易懂 但我还是看完了  抱歉没有给你最佳回复 抱歉


没事没事,是我写的太复杂了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-2 10:36:27 | 显示全部楼层
何嘿嘿打灰灰 发表于 2018-6-1 20:30
嗯嗯 谢谢谢谢 你写的很好 我可以看懂了

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-2 12:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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