如何在 Python 2.7 中返回打印函数?在 Python 3 中,您可以键入return print(True)
,但在 Python 2.7 中,当我尝试时,我得到一个无效的语法错误return print True
。我是 Python 新手。
问问题
11374 次
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 回答