[Python-ideas] Importing public symbols and simultainiously privatizing them, is too noisy
Rick Johnson
rantingrickjohnson at gmail.com
Wed Mar 16 21:52:13 EDT 2016
On Wednesday, March 16, 2016 at 7:43:05 PM UTC-5, Steven D'Aprano wrote:
> On Wed, Mar 16, 2016 at 03:50:53PM -0700, Rick Johnson wrote:
>
> > from module _import Foo, bar
>
> That's anything but self-explanatory, since it gives no
> hint that Foo and bar will be imported under some name
> other than Foo and bar.
Yes, I'll agree it would be far too esoteric for a language
that promotes readability. If i end up writing my own hack
though, i'll probably go this way, simply because it's the
most compact solution i think of at the moment.
> Besides, why is "import x as _x" so special to require special syntax?
Well, for a single symbol, it's not bad. But consider something like:
from module import Foo as _Foo, bar as _bar, BAZ as _BAZ, spam as _spam,
eggs as _eggs
Now, that may seem like a contrived example, but i've
witnessed much longer "run-on import lines" than that. 79
chars will be eaten-up really quickly. But what eats up most
of the space, is the redundant " as _...".
When importing "piecemeal", it's impossible to avoid writing
the actual symbol names , but, if we can avoid the redundant
repetition of " as _...", it would be an improvement.
> Out of the infinite number of names that x could be
> imported as (import x as y etc) what's so special about _x
> that it deserves a short-cut?
Not exactly sure what your saying here, but, i'll fancy a
guess...
If you're suggesting that my syntax would be limited to
merely "adding a single leading underscore to the public
symbol (or symbols) as they are imported", then yes, you are
correct!
The intended purpose is to: "automate the privatization of
public symbols during the import process". Of course, if
they already have a leading underscore, they will remain
unchanged. But i wonder what should be done when they have
more than one underscore? Hmm...
>From my POV, I don't see anything wrong with "single purpose
utilities". In fact, i find them to be more intuitive. The
whole: "Do one thing, and do it well" philosophy...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20160316/d94e8515/attachment.html>
More information about the Python-ideas
mailing list