这是因为这些词是关键词。 Python中的关键字是保留字,不能用作普通标识符。
该列表包括来自 doc 函数keyword
>>> import keyword
>>> import pprint
>>> pprint.pprint(keyword.kwlist)
['and',
'as',
'assert',
'break',
'class',
'continue',
'def',
'del',
'elif',
'else',
'except',
'exec',
'finally',
'for',
'from',
'global',
'if',
'import',
'in',
'is',
'lambda',
'not',
'or',
'pass',
'print',
'raise',
'return',
'try',
'while',
'with',
'yield']
其原因在康拉德的评论
关键词并没有什么神奇之处。然而,它使解析器vastly当不允许标识符使用关键字时更容易编写。特别是,它可以更轻松地为解析错误提供人类可读的错误消息,因为解析器能够推断有关错误的更多上下文。