__debug__
是一个内置常量,根据docs on constants,它似乎不是一个实现细节。
尝试分配给它时(文档状态不支持),会显示以下错误消息:
>>> __debug__ = False
File "<stdin>", line 1
SyntaxError: assignment to keyword
显然,根据消息,它是一个关键字,但是:
>>> from keyword import kwlist
>>> '__debug__' in kwlist
False
这看起来很奇怪。 None
,True
和False
也列为常量,包含在kwlist
中。
为什么关键字列表中没有__debug__
?
答案 0 :(得分:5)
从技术上讲,它不是Python语法意义上的关键字。编译器中有specific check阻止分配给__debug__
,但就语法而言,__debug__
不是关键字,keyword.kwlist
是从语法。