鱼C论坛

 找回密码
 立即注册
查看: 1736|回复: 4

return

[复制链接]
发表于 2020-2-23 11:18:29 | 显示全部楼层 |阅读模式

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

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

x
函数中的return到底是打印出结果的意思 还是将结果返回到函数中的意思呢
例如
>>>def Fun1():
                    x = 5
                    def Fun2():
                                nonlocal x
                                x *= x
                                return x
                    return Fun2()

>>>Fun1()
        25

为什么最后一行 return Fun2()改为Fun2()就没有结果了呢? Fun2()不是执行函数Fun2的意思吗



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-23 11:21:14 | 显示全部楼层
如果将return Fun2()改为Fun2(),则Fun2结果返回给Fun1,但Fun1并没有将结果返回给主程序。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-23 11:39:40 | 显示全部楼层
return是指一个函数的返回值,返回值的类型要和函数声明的类型一样,如果是void应该就不需要了,貌似也可以直接return;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-23 11:40:24 | 显示全部楼层
不管有没有return,Fun2()这个东西就是执行Fun2这个函数

如果不写return,就是单纯的执行一下fun2()这个函数,由于也没有变量接收fun2()的返回值(比如 res = Fun2()),所以fun2()执行完了也没啥具体的改变

写了return之后,就是把fun2执行的结果当做fun1的返回值。比如fun2()的执行结果是5,那么return Fun2(),就和return 5是一个意思的了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-1-13 23:37:17 | 显示全部楼层
Fun2()就是执行Fun2这个函数
因为那样fun 1没有返回值
return不会打印,只返回
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-24 05:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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