print(或print(),如果您使用的是 Python 3)正是这样做的——打印关键字后面的任何内容。它还会做一些好事,比如自动用空格连接多个值:
print 1, '2', 'three'
# 1 2 three
否则,从您的程序的角度来看,print (print()) 将无能为力。它不会以任何方式影响控制流,并且会从代码块中的下一条指令继续执行:
def foo():
print 'hello'
print 'again'
print 'and again'
另一方面,return(不是return())旨在立即中断控制流并退出当前函数并将指定的值返回给调用您的函数的调用者。它总是会这样做,而且只会这样做。 return 本身不会导致任何内容打印到屏幕上。即使您没有指定返回值,也会返回隐式 None。如果您完全跳过 return,隐含的 return None 仍会在您的函数结束时发生:
def foo(y):
print 'hello'
return y + 1
print 'this place in code will never get reached :('
print foo(5)
# hello
# 6
def bar():
return # implicit return None
print bar() is None
# True
def baz(y):
x = y * 2
# implicit return None
z = baz()
print z is None
# True
您看到returned 值打印到屏幕上的原因可能是因为您可能正在交互式Python shell 中工作,为了您自己的方便,它会自动prints 任何结果。