函数在没有返回语句的情况下返回None。

函数在没有返回语句的情况下返回None。

我刚刚学习了函数参数是如何在Python中工作的,然后我开始无缘无故地对它进行实验,当时:

def jiskya(x, y):
    if x > y:
        print y    else:
        print xprint(jiskya(2, 3))

出狱:

>>>
2
None

在哪里None来自?那又是什么?


jeck猫
浏览 1404回答 3
3回答

鸿蒙传说

它是函数的返回值,您可以打印出来。如果没有返回语句(或只是一个return没有争论),含蓄的return None添加到函数的末尾。您可能希望返回函数中的值,而不是打印它们:def jiskya(x, y):     if x > y:         return y    else:         return xprint(jiskya(2, 3))

汪汪一只猫

好的,当您这样做时,首先:print(jiskya(2, 3))你得到了与此相当的东西:print(print(2))那么,怎么回事?这个print(2)正在打印出2,并返回None它是由外部调用打印的。够直截了当的。现在看看这个:def hello():     return 2如果你这样做了:print(hello())你得到2,因为如果你打印出一个函数,你会得到return价值是。()return值由return someVariable.现在即使print和大多数函数一样,它没有括号,只是在这方面有点特殊。打印返回什么?没什么。所以当你print print someVariable,你会得到None作为第二部分,因为打印的返回值是None.正如其他人所说:def jiskya(x, y):     if x > y:         print(y)     else:         print(x)应重写:def jiskya(x, y):     if x > y:         return y    else:         return x

阿晨1998

“零”是从哪里来的?功能。那又是什么?这就是函数返回的内容。在Python中,每个函数都返回一些内容。它可以是使用元组的“多个事物”,也可以是使用None但它必须还一些东西。这就是我们如何处理这样一个事实,即没有办法指定返回类型(这是没有意义的,因为您没有为其他任何内容指定类型)。当解释为用于打印的字符串时,None替换为字符串“None”。None是一个特殊的对象,它应该表示没有任何真实的东西。它的类型是NoneType(这是该类的一个实例)。每当您没有显式返回任何内容时,您都不会隐式地返回任何内容。您编写了一个函数来打印这两个值中的一个x或y但不能归还任何东西。所以None被归还了。然后请Python打印调用函数的结果。因此,它调用函数(打印其中一个值),然后打印返回值,即None,作为文本“无”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python