def other_new_function():
print "HELLO"
print "Start", other_new_function(), "Stop"
这个程序的输出是:
Start HELLO
None Stop
为什么NONE
显示在输出中?
因为您正在打印 "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 打印值,所以它永远不会返回给变量。
def other_new_function():
print "HELLO"
返回NoneType
(打印为“无”),因为您没有显式返回值。您可能想要做的是:
def other_new_function():
return "HELLO"