我已经定义使用Python如下功能:为什么这个函数返回这个值?
def output():
print "Hello, world!"
output()
当这个脚本在Windows命令行中运行,则回复:
Hello, world!
我想说明的是:这是为什么?尽管没有定义返回值,为什么还是输出值?
我已经定义使用Python如下功能:为什么这个函数返回这个值?
def output():
print "Hello, world!"
output()
当这个脚本在Windows命令行中运行,则回复:
Hello, world!
我想说明的是:这是为什么?尽管没有定义返回值,为什么还是输出值?
该方法的默认返回值为None
。如果您执行以下操作:
res = output()
,并打印出res
,这将是None
。默认情况下,如果未指定返回,则始终返回None
。
>>> def output():
... print "Hello, world!"
...
>>> res = output()
Hello, world!
>>> res
>>> type(res)
<type 'NoneType'>
但是,你仍然会得到的东西打印到屏幕上,因为当该方法被称为print
语句将运行。
返回值只有在思考程序如何工作的情况下才有意义。对于最终用户来说,他们可能对返回值一无所知。
一个单独的概念,输出,是用户通常看到的。在这种情况下,程序使用打印语句,输出到名为stdout
的输出流。该输出流通常由程序从中运行的控制台读取,然后输出到控制台。
该函数的实际返回值是None
,但它永远不会输出给用户。
因为你正在调用一个带有'print'的方法。 'print'将会*打印*到屏幕上。 – idjaw
字符串“Hello,world!”没有被返回,但是打印到标准输出。 –
方法的默认返回值是'None'。如果你做'res = output()'并打印出'res',它将是'无'。但是你仍然会得到一些打印出来的东西,因为在调用方法时'print'语句会运行。 – idjaw