为什么分配打印结果的语法无效?

时间:2014-11-04 20:16:07

标签: python python-2.7

简单代码:

>>> a = print('foo')
  File "<stdin>", line 1
    a = print('foo')
            ^
SyntaxError: invalid syntax

为什么呢? print不应该返回None吗? print有什么特别之处?

Nota:没有太多意义,只是试图理解为什么这个特定的功能会像这样反应。

1 个答案:

答案 0 :(得分:8)

在Python 2中,print是一个声明。它不是一个功能,也没有“结果”。但是,您可以通过from __future__ import print_function使其成为一个函数,然后您的示例将起作用。 (在Python 3中,它始终是一个函数。)