鱼C论坛

 找回密码
 立即注册
查看: 1406|回复: 3

[已解决]函数返回值

[复制链接]
发表于 2023-11-2 10:12:03 | 显示全部楼层 |阅读模式

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

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

x
def a(n):
        print(n)

>>> a(3)
3
>>> x = a(3)
3
>>> print(x)
None


为什么当x=a(3)时,返回3(这里用“返回”的字眼对吗?)
而print(x),却打印输出None,而不是3?
最佳答案
2023-11-2 10:13:25
函数返回值 Python交流

在这个例子中,函数a(n)并没有显式地指定返回值。在Python中,如果一个函数没有显式地使用return语句返回值,它将默认返回None

当执行x = a(3)时,函数a(3)会打印出3。然后,将返回值赋给变量x。由于函数a(n)没有显式地返回任何值,因此x将被赋值为None,这就是为什么print(x)会打印出None而不是3的原因。

虽然函数a(n)打印了3,但它并没有返回这个值,而是返回了默认的None。要使函数能够返回具体的值,你可以使用return语句来显式地指定返回值,如下所示:
def a(n):    print(n)    return nx = a(3)print(x)
这样,x的值将会是3,并且print(x)会打印出3

球一个最佳答案谢谢啦!这对我非常重要!

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2023-11-2 10:12:34 | 显示全部楼层
在这个例子中,函数a(n)没有明确的返回语句。当你调用a(3)时,它会执行函数体内的print语句,打印输出n的值3。但是,由于没有返回语句,函数a(n)实际上并没有返回任何值。

当你将x赋值为a(3)时,实际上是将x赋值为函数a(n)的返回值。由于函数a(n)没有返回值,所以x被赋值为None。因此,当你执行print(x)时,会打印输出None。

在这个例子中,我们可以说函数a(n)没有返回值,而不是返回了None。因为在Python中,如果一个函数没有明确的返回语句,它会隐式地返回None。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-2 10:13:25 | 显示全部楼层    本楼为最佳答案   
函数返回值 Python交流

在这个例子中,函数a(n)并没有显式地指定返回值。在Python中,如果一个函数没有显式地使用return语句返回值,它将默认返回None

当执行x = a(3)时,函数a(3)会打印出3。然后,将返回值赋给变量x。由于函数a(n)没有显式地返回任何值,因此x将被赋值为None,这就是为什么print(x)会打印出None而不是3的原因。

虽然函数a(n)打印了3,但它并没有返回这个值,而是返回了默认的None。要使函数能够返回具体的值,你可以使用return语句来显式地指定返回值,如下所示:
def a(n):    print(n)    return nx = a(3)print(x)
这样,x的值将会是3,并且print(x)会打印出3

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-11-2 10:32:40 | 显示全部楼层
Mike_python小 发表于 2023-11-2 10:13
函数返回值 Python交流

在这个例子中,函数a(n)并没有显式地指定返回值。在Python中,如果一个函数没有显 ...

感谢上面两位大神的解答,后一个解答更详细,而且有代码,最佳答案就给你吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 13:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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