Python中的打印类型是什么?

时间:2015-08-13 08:27:44

标签: python python-2.7

sum是Python中的内置函数,因此我得到了这个输出。

>>> type(sum)
<type 'builtin_function_or_method'>

但是当我这样做时,

>>> type(print)

返回

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

那么,有没有打印类型? print函数是type()的例外吗?

我正在使用Python 2.7

2 个答案:

答案 0 :(得分:8)

在Python 2中,print是一个语句,它与变量或函数完全不同。语句不是可以传递给type()的Python对象;它们只是语言本身的一部分,甚至比内置函数更重要。例如,您可以执行sum = 5(即使您不应该这样做),但您不能print = 5if = 7因为print和{{if 1}}是陈述。

在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'>

答案 1 :(得分:2)

print不是Python 2中的函数,它是一个声明。