为什么这种印刷'无'在输出?

时间:2015-03-02 14:59:04

标签: python nonetype

我定义了一个函数如下:

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

但是为什么输出会返回None

The very first line
None

2 个答案:

答案 0 :(得分:27)

因为有两个打印语句。第一个是内部功能,第二个是外部功能。当函数没有返回任何时候它返回无值。

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

e.g:

返回无值。

>>> 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
>>> 

答案 1 :(得分:9)

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

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

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