python中的所有对象,但为什么关键字不是对象?

use*_*873 1 python python-2.7 python-3.x

我是python编程的新手,python的美是Everything a Object,但为什么不将关键字作为对象呢?

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

phi*_*hag 14

实际上,运营商是对象; 看看operator模块.你无法使用通常的名称获取操作符对象(因为这会使Python的语法复杂化并且令人困惑),但是这样可行:

>>> import operator
>>> type(operator.add)
<type 'builtin_function_or_method'>
Run Code Online (Sandbox Code Playgroud)

流控制关键字,例如iffor不是对象,因为没有语义 - 你会对假设for对象做什么?请注意,功能,可以代替for循环,即filter,map,reduce,和各种函数itertools.