[docs] [issue9451] Strengthen __*__ system name warning

Terry J. Reedy report at bugs.python.org
Mon Aug 2 00:53:50 CEST 2010

New submission from Terry J. Reedy <tjreedy at udel.edu>:

Current" 2.3.2. Reserved classes of identifiers
    System-defined names. These names are defined by the interpreter and its implementation (including the standard library); applications should not expect to define additional names using this convention. The set of names of this class defined by Python may be extended in future versions. See section Special method names."

Current pydev thread,Is it intentional that "sys.__debug__ = 1" is illegal in Python 2.7?, Guido said;
"But yes, the docs should clarify that *any* use of __*__ names, in
any* context, that does not follow explicitly documented use, is
subject to breakage without warning."

I think I would replace the current "applications ... convention" with Guido's sentence, starting with "*Any* use", though I might put it at the end as the second most important sentence of the paragraph.

Until this thread, I did not understand the import of 'expect to' in that middle sentence. Apparently, it means that if a definition works now, it may become invalid in the future if it becomes not just a system word, but a reserved word like __debug__ did. Guido's sentence covers this case and all others, so the current sentence would no longer be needed.

assignee: docs at python
components: Documentation
messages: 112395
nosy: docs at python, tjreedy
priority: normal
severity: normal
status: open
title: Strengthen __*__ system name warning
versions: Python 2.7, Python 3.1, Python 3.2

Python tracker <report at bugs.python.org>

More information about the docs mailing list