在python 3中,
>>> import keyword
>>> keyword.kwlist
和
>>> import builtins
>>> dir(builtins)
是两个不同的列表,但它们有一些共同的值,特别是
>>> set(dir(builtins)) & set(keyword.kwlist)
{'False', 'True', 'None'}
python中关键字和内置的区别是什么?什么时候是'False', 'None', 'True'
个关键字,什么时候构建它们? (如果这有任何区别)
答案 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
等内容重新分配。