为什么在输出中打印 'None'?

Why is this printing 'None' in the output?

我定义了一个函数如下:

def lyrics():
    print "The very first line"
print lyrics()

但是为什么输出 return None:

The very first line
None

因为有两个打印语句。第一个是内部函数,第二个是外部函数。当一个函数没有 return 任何东西时,它隐含地 returns None.

在函数末尾使用 return 语句到 return 值。

例如:

Return None.

>>> def test1():
...    print "In function."
... 
>>> a = test1()
In function.
>>> print a
None
>>> 
>>> print test1()
In function.
None
>>> 
>>> test1()
In function.
>>> 

使用return语句

>>> def test():
...   return "ACV"
... 
>>> print test()
ACV
>>> 
>>> a = test()
>>> print a
ACV
>>> 

由于双重打印功能。我建议您在函数定义中使用 return 而不是 print

def lyrics():
    return "The very first line"
print(lyrics())

def lyrics():
    print("The very first line")
lyrics()