
On 15 Jul 2013 13:46, "Steven D'Aprano" <steve@pearwood.info> wrote:
On Mon, Jul 15, 2013 at 10:01:17AM +1000, Cameron Simpson wrote:
On 15Jul2013 09:48, Steven D'Aprano <steve@pearwood.info> wrote:
| I'd go further, and say that no more private modules should be | accepted for the std lib unless they have a leading underscore. I | suppose for backwards compatibility reasons, we probably can't go | through the std lib and rename private modules to make it clear they | are private, but we don't have to accept new ones without the | underscore.
I disagree.
A private module is a perfectly sane way to implement the internals of something, especially if it is subject to implementation change in the future.
Of course private modules are sane. I never suggested "no new private modules at all". But putting them in the same namespace as public modules is not, just to save a leading underscore in the file name.
It's not to save a leading underscore - it's to avoid renaming existing packages like pip and idlelib. Cheers, Nick.
You don't even have to use the underscore in your own code:
import _stuff as stuff
is allowed, and doesn't make _stuff.py public since imported modules are considered implementation details by default.
-- Steven _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe:
http://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com