为什么不能将Python的print赋值给一个变量?

7

我正在学习编程,使用Python开始入门。在这里,我发现可以像这样做:

>>>> def myFunction(): return 1
>>>> test = myFunction
>>>> test()
1

然而,如果我尝试使用print做同样的事情,它会失败:
>>>> test2 = print
File "<stdin>", line 1
  test2 = print
              ^
SyntaxError: invalid syntax

为什么print与我创建的函数不同?这是使用Python v2.7.5。

2个回答

18

3
除了BrenBarn关于print函数的解释之外,需要注意的是print不会返回值。语句从来不会返回值(这就是为什么你看到那个错误),但即使作为一个函数,你也不会得到函数打印出来的值作为返回值。
相反,print直接将某些东西写入输出,通常是控制台。如果你想将值存储在变量中,只需将你想要打印的内容赋值给该变量即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接