为什么不能从功能返回打印功能?

时间:2019-02-28 00:33:21

标签: python python-3.x

我没有任何理由要这样做,但是我仍然想知道为什么这些会引发语法错误:

def f():
    return print    # syntaxError: invalid syntax

def f():
    return print()  # syntaxError: invalid syntax

但是完全可以返回其他内置函数,例如以下代码:

def f():
    return map    # no errors

def f():
    return len()  # no errors

我还可以打印任何内置函数:

>>> print(map)
<built-in function map>

>>> print(set)
<type 'set'>

但是我无法打印打印功能:

>>> print(print("test"))
  File "<stdin>", line 1
    print(print("test"))
              ^
SyntaxError: invalid syntax

1 个答案:

答案 0 :(得分:5)

您标记了问题python-3.x,但是您似乎正在使用Python 2。

print是Python 2中的关键字。