use*_*536 7 python keyword python-builtins
以下是正确的:
'None' in keyword.kwlist
'None' in builtins.__dict__ # import builtins
我的理解:
x
Python通过获取对象来评估标识符builtins.__dict__[x]
x
以一种特殊的方式取决于是x
什么这意味着 Python 将关键字 evals为类型(被保留)None
的值,而不使用. 那么为什么包含?NoneType
builtins.__dict__
builtins.__dict__
'None'
(同样的问题适用于True
和False
)
一般来说,根本不评估关键字。keyword
出于信息目的,该模块仅提供 Python 语法将哪些单词识别为特殊单词。特别是None
,True
、 和False
被识别为(硬)关键字,因此尝试重新定义它们是语法错误,而不是运行时错误。此外,关键字列表根本不参与名称查找。
否则,None
就像绑定到某个值的任何其他名称一样(在本例中为 type 的单独值types.NoneType
)。特别是,该定义位于内置范围内,因此可以从任何模块中使用它,而无需先导入任何内容。builtins
仅反映内置范围中定义的那些名称。
归档时间: |
|
查看次数: |
44 次 |
最近记录: |