-2
def other_new_function():
    print "HELLO"

print "Start", other_new_function(), "Stop"

这个程序的输出是:

Start HELLO

None Stop

为什么NONE显示在输出中?

4

2 回答 2

4

因为您正在打印 "HELLO",而不是退回它。

因为您的函数不返回任何内容,所以它默认为返回None。因此,None出现了。

改变:

def other_new_function():
    print "HELLO"

至:

def other_new_function():
    return "HELLO"

从函数返回和打印一些东西有很大的不同:

>>> def func():
...     print 1
... 
>>> def func2():
...     return 1
... 
>>> myvar = func()
1 # Printed
>>> myvar2 = func2() # Returned to a variable
>>> print myvar
None
>>> print myvar2
1

因为函数 1 打印值,所以它永远不会返回给变量。

于 2013-10-19T05:18:58.650 回答
0
def other_new_function():
    print "HELLO"

返回NoneType(打印为“无”),因为您没有显式返回值。您可能想要做的是:

def other_new_function():
    return "HELLO"
于 2013-10-19T05:20:21.137 回答