【问题标题】:Why can't I assign python's print to a variable?为什么我不能将 python 的打印分配给变量?
【发布时间】:2013-12-24 22:31:15
【问题描述】:

我正在学习编程,我正在使用 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。

【问题讨论】:

    标签: python python-2.7 function-pointers variable-assignment


    【解决方案1】:

    print is a statement,不是函数。这是changed in Python 3,部分原因是为了让你做这样的事情。在 Python 2.7 中,您可以通过在文件顶部执行 from __future__ import print_function 来将 print 作为函数,然后您确实可以执行 test = print。

    请注意,使用 print 作为函数,您不能再使用print x,而必须使用print(x)(即需要括号)。

    【讨论】:

      【解决方案2】:

      除了 BrenBarn 所说的 print 函数,请注意print 不会返回值。语句当然永远不会返回值(这就是您看到该错误的原因),但即使作为函数,您也不会获得函数打印为返回值的值。

      相反,print 直接将某些内容写入输出,通常是控制台。如果您想将值存储在变量中,只需将您想要打印的任何内容分配给该变量即可。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多