lzb1001 发表于 2023-11-2 10:12:03

函数返回值

def a(n):
        print(n)

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


为什么当x=a(3)时,返回3(这里用“返回”的字眼对吗?)
而print(x),却打印输出None,而不是3?

isdkz 发表于 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。

Mike_python小 发表于 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 n

x = a(3)
print(x)


这样,x的值将会是3,并且print(x)会打印出3。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}

lzb1001 发表于 2023-11-2 10:32:40

Mike_python小 发表于 2023-11-2 10:13
函数返回值 Python交流

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

感谢上面两位大神的解答,后一个解答更详细,而且有代码,最佳答案就给你吧
页: [1]
查看完整版本: 函数返回值