为什么这个函数会返回这个值?

时间:2016-10-03 21:27:23

标签: python function command-line

我使用Python定义了一个函数,如下所示:

def output ():
  print "Hello, world!"

output ()

在Windows命令行中运行此脚本时,它将返回:

Hello, world!

我想澄清的是:为什么会这样?尽管没有定义返回值,为什么值输出?

3 个答案:

答案 0 :(得分:1)

返回值仅在思考程序如何工作的上下文中具有意义。对于最终用户,他们可能对返回值一无所知。

单独的概念输出是用户通常看到的。在这种情况下,程序使用print语句,该语句输出到名为stdout的输出流。此输出流通常由程序运行的控制台读取,因此输出到控制台。

该函数的实际返回值为None,但永远不会输出给用户。

答案 1 :(得分:1)

方法的默认返回值为None。如果您执行以下操作:

res = output()

并打印res,它将是None。默认情况下,如果未指定 return ,则始终会返回None

>>> def output():
...     print "Hello, world!"
...
>>> res = output()
Hello, world!
>>> res
>>> type(res)
<type 'NoneType'>

但是,您仍然会在屏幕上打印一些内容,因为print语句将在调用方法时运行。

答案 2 :(得分:0)

打印将打印到标准输出。这就是原因。