Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 函数在不返回语句的情况下返回None_Python_Function - Fatal编程技术网

Python 函数在不返回语句的情况下返回None

Python 函数在不返回语句的情况下返回None,python,function,Python,Function,我刚刚学习了(正在学习)Python中函数参数的工作原理,我开始毫无理由地使用它进行实验,当时: def jiskya(x, y): if x > y: print(y) else: print(x) print(jiskya(2, 3)) 给出了输出: >>> 2 None None从何而来?那是什么?问题是你写了打印jiskya(2,3)。您正在将jiskya的返回值传递给print函数jiskya本身打印x或

我刚刚学习了(正在学习)Python中函数参数的工作原理,我开始毫无理由地使用它进行实验,当时:

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

print(jiskya(2, 3))
给出了输出:

>>>
2
None

None
从何而来?那是什么?

问题是你写了
打印jiskya(2,3)
。您正在将
jiskya
的返回值传递给
print
函数
jiskya
本身打印
x
y
,这就是您看到2的原因。但是,
printjiskya(2,3)
语句中的
print
本身执行时没有参数

对于口译员来说,这是对发生的事情的简化:

print jiskya(2,3)
>> Executing jiskya with arguments 2, 3
>> jiskya evaulates `print x`
>> 2 is printed
>> Function jiskya exits with no return value
print None
>> None is printed

问题是您编写了
打印jiskya(2,3)
。您正在将
jiskya
的返回值传递给
print
函数
jiskya
本身打印
x
y
,这就是您看到2的原因。但是,
printjiskya(2,3)
语句中的
print
本身执行时没有参数

对于口译员来说,这是对发生的事情的简化:

print jiskya(2,3)
>> Executing jiskya with arguments 2, 3
>> jiskya evaulates `print x`
>> 2 is printed
>> Function jiskya exits with no return value
print None
>> None is printed

它是你打印出来的函数的返回值。如果没有return语句(or),则会在函数末尾添加一个隐式的
return None

您可能希望返回函数中的值,而不是打印它们:

def jiskya(x, y):
    if x > y:
        return y
    else:
        return x

print(jiskya(2, 3))

它是你打印出来的函数的返回值。如果没有return语句(or),则会在函数末尾添加一个隐式的
return None

您可能希望返回函数中的值,而不是打印它们:

def jiskya(x, y):
    if x > y:
        return y
    else:
        return x

print(jiskya(2, 3))

您正在进行两次打印,第一次打印在函数的主体中,第二次打印函数的结果,实际上没有打印结果

你应该这样做:

def yourfunction(x, y):
    if x > y:
        return y
    else:
        return x
那么

>>> print yourfunction(2, 3)
2

您正在进行两次打印,第一次打印在函数的主体中,第二次打印函数的结果,实际上没有打印结果

你应该这样做:

def yourfunction(x, y):
    if x > y:
        return y
    else:
        return x
那么

>>> print yourfunction(2, 3)
2
“无”从何而来

功能

那是什么

这是函数返回的结果

在Python中,每个函数都返回一些东西。它可以使用一个元组“有多个东西”,也可以使用
None
“什么都没有”,但它必须返回一些东西。这就是我们如何处理无法指定返回类型这一事实的方法(这毫无意义,因为您没有为任何其他内容指定类型)。当解释为打印字符串时,
None
将替换为字符串“None”

None
是一个特殊的对象,用来表示没有任何真实的东西。它的类型是
NoneType
(它是该类的一个实例)。无论何时不显式返回任何内容,都会隐式返回None

您编写此函数是为了打印两个值中的一个
x
y
,但不返回任何内容。因此,返回了
None
。然后,您要求Python打印调用该函数的结果。因此它调用了函数(打印其中一个值),然后将返回值(即
None
)打印为文本“None”

“无”从何而来

功能

那是什么

这是函数返回的结果

在Python中,每个函数都返回一些东西。它可以使用一个元组“有多个东西”,也可以使用
None
“什么都没有”,但它必须返回一些东西。这就是我们如何处理无法指定返回类型这一事实的方法(这毫无意义,因为您没有为任何其他内容指定类型)。当解释为打印字符串时,
None
将替换为字符串“None”

None
是一个特殊的对象,用来表示没有任何真实的东西。它的类型是
NoneType
(它是该类的一个实例)。无论何时不显式返回任何内容,都会隐式返回None


您编写此函数是为了打印两个值中的一个
x
y
,但不返回任何内容。因此,返回了
None
。然后,您要求Python打印调用该函数的结果。因此,它调用了函数(打印其中一个值),然后将返回值(即
None
)打印为文本“None”。

Ya,基本上是在函数中使用print语句作为返回信息的一种方式。你不应该这样做。Print与return语句不同。如果您只是想让函数给出答案,而不使用none,只需键入jiskya(2,3)。您将看到函数抛出了什么,因为函数中有print语句。如果您在函数中键入“return”,如果函数调用之前没有“print”,它将不会提供任何信息

Ya,基本上您在函数中使用print语句作为返回信息的一种方式。你不应该这样做。Print与return语句不同。如果您只是想让函数给出答案,而不使用none,只需键入jiskya(2,3)。您将看到函数抛出了什么,因为函数中有print语句。如果您在函数中键入“return”,如果函数调用之前没有“print”,它将不会提供任何信息

好的,执行此操作时要开始:

print(jiskya(2, 3))
你得到了与此相当的东西:

print(print(2))
那么,到底发生了什么?
print(2)
正在打印出2,并返回外部调用打印的
None
。很简单

现在看看这个:

def hello():
    return 2
如果您这样做:

print(hello())
得到2是因为如果你打印出一个函数,你会得到任何
返回值。(返回值由返回变量表示

现在即使
print
没有
def test1():

    a = "First code...!!!"
    
    return a

type(test1())


Output: str