Python3:关键字和内置函数之间有什么区别?

时间:2011-11-20 20:39:43

标签: python python-3.x

在python 3中,

>>> import keyword
>>> keyword.kwlist

>>> import builtins
>>> dir(builtins)

是两个不同的列表,但它们有一些共同的值,特别是

>>> set(dir(builtins)) & set(keyword.kwlist)
{'False', 'True', 'None'}

python中关键字和内置的区别是什么?什么时候是'False', 'None', 'True'个关键字,什么时候构建它们? (如果这有任何区别)

1 个答案:

答案 0 :(得分:19)

关键字是解析器处理的核心语言构造。这些字是保留的,不能用作标识符:http://docs.python.org/reference/lexical_analysis.html#keywords

Builtins是常用的预加载函数,常量,类型和例外的列表:http://docs.python.org/library/functions.html

在Python 3中,重叠的单词 False None True 是内置的常量,受到解析器的保护。这可以防止意外覆盖True=10之类的内容。作为关键字,可以阻止此分配:

>>> True = 10
SyntaxError: assignment to keyword

其余内置版本不受保护,可以使用__builtins__.list = mylist等内容重新分配。