为什么我不能将python的print分配给变量?

Lil*_*ahF 7 python function-pointers variable-assignment python-2.7

我正在学习编程,我正在使用Python开始.在那里,我看到我可以做这样的事情:

>>>> def myFunction(): return 1
>>>> test = myFunction
>>>> test()
1
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试做同样的print事情就失败了:

>>>> test2 = print
File "<stdin>", line 1
  test2 = print
              ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

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

Bre*_*arn 18

print是一种陈述,而不是一种功能.这在Python 3有所改变,部分原因是为了让你做这样的事情.在Python 2.7中,您可以通过from __future__ import print_function在文件顶部进行打印作为函数,然后您确实可以执行此操作test = print.

请注意,使用print作为函数,您不能再执行此print x操作print(x)(即必须使用括号).