1

如何在 Python 2.7 中返回打印函数?在 Python 3 中,您可以键入return print(True),但在 Python 2.7 中,当我尝试时,我得到一个无效的语法错误return print True。我是 Python 新手。

4

3 回答 3

9

在 Python 2.xprint中不是函数,而是关键字。可能的最佳解决方案是导入类似 3.x 的打印行为,如下所示:

from __future__ import print_function

p = print         # now you can store the function reference to a variable
p('I am a function now!')

>>> I am a function now!

def get_print():
    return print   # or return it :)

get_print()

>>> <function print>
于 2013-01-07T21:38:38.887 回答
2

这在 Python 2.7 中是不可能的,因为 print 不是一个函数,它是一个保留字*。您可以像这样轻松地为它创建一个函数:

def printf(x):
  print x

然后你可以做你想做的事:

return (printf(True))

但是您必须进行重命名。

*这是在 python 3 上更优雅地解决的问题之一。

于 2013-01-07T21:35:27.650 回答
0

print,作为 Python 2 中的语句而不是函数,不能以这种方式使用。相反,您需要这样做:

from __future__ import print_function
def foo():
    return print(True)
foo()
于 2013-01-07T21:39:47.153 回答