Python中的打印类型是什么?

Him*_*hra 0 python python-2.7

sum 是Python中的内置函数,这就是我得到这个输出的原因.

>>> type(sum)
<type 'builtin_function_or_method'>
Run Code Online (Sandbox Code Playgroud)

但是当我这样做的时候

>>> type(print)
Run Code Online (Sandbox Code Playgroud)

它回来了

  File "<stdin>", line 1
    type(print)
             ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

那么,有没有打印类型?功能是print个例外type()吗?

我使用的是Python 2.7

Cyp*_*ase 8

在Python 2中,print是一个语句,它是一个与变量或函数完全不同的东西.语句不是可以传递给的Python对象type(); 它们只是语言本身的一部分,甚至比内置函数更多.例如,你可以这样做sum = 5(即使你不应该这样做),但你做不到print = 5if = 7因为print而且if是陈述.

在Python 3中,print语句被print()函数替换.所以,如果你这样做type(print),它会回来<class 'builtin_function_or_method'>.

奖金:

在Python 2.6+中,您可以放在from __future__ import print_function脚本的顶部(作为第一行代码),print语句将替换为该print()函数.

>>> # Python 2
>>> from __future__ import print_function
>>> type(print)
<type 'builtin_function_or_method'>
Run Code Online (Sandbox Code Playgroud)