在Python 2.7中返回打印函数

时间:2013-01-07 21:26:27

标签: python python-2.7

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

3 个答案:

答案 0 :(得分:8)

在Python 2.x中print不是函数,而是关键字。 可能的最佳解决方案是导入3.x-like print behvaiour,如下所示:

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>

答案 1 :(得分:2)

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

def printf(x):
  print x

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

return (printf(True))

但你必须重命名。

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

答案 2 :(得分:0)

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

from __future__ import print_function
def foo():
    return print(True)
foo()