This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author terry.reedy
Recipients docs@python, terry.reedy
Date 2010-08-01.22:53:46
SpamBayes Score 7.3765215e-05
Marked as misclassified No
Message-id <1280703230.07.0.461844472434.issue9451@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2010-08-01 22:53:50terry.reedysetrecipients: + terry.reedy, docs@python
2010-08-01 22:53:50terry.reedysetmessageid: <1280703230.07.0.461844472434.issue9451@psf.upfronthosting.co.za>
2010-08-01 22:53:47terry.reedylinkissue9451 messages
2010-08-01 22:53:46terry.reedycreate