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
答案 0 :(得分:8)
在Python 2中,print
是一个语句,它与变量或函数完全不同。语句不是可以传递给type()
的Python对象;它们只是语言本身的一部分,甚至比内置函数更重要。例如,您可以执行sum = 5
(即使您不应该这样做),但您不能print = 5
或if = 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中的函数,它是一个声明。