[Python-ideas] Loosen 'as' assignment

Nick Coghlan ncoghlan at gmail.com
Sat Jun 16 04:04:38 EDT 2018


On 16 June 2018 at 15:49, Rin Arakaki <koyukukan at gmail.com> wrote:

> Hi,
> I'm wondering if it's possible and consistent that loosen 'as' assignment,
> for example:
>
> >>> import psycopg2 as pg
> >>> import psycopg2.extensions as pg.ex
>
> You can't now assign to an attribute in as statement but are there some
> reasons?
> To be honest, I'll be satisfied if the statement above become valid, but
> also interested in general design decisions about 'as' functionality, I
> mean, it can be applicable to all expression that can be left side of '='
> such as 'list[n]' one, and also other statement than 'import' such as
> 'with'.
>

This is essentially monkeypatching the psycopg2 module to alias the
"extensions" submodule as the "ex" submodule. You can already do that today
as:

    >>> import psycopg2 as pg
    >>> import psycopg2.extensions
    >>> pg.ex = pg.extensions

Monkeypatching other modules at runtime is a questionable enough practice
that we're unlikely to add syntax that actively encourages it.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20180616/f9806cb2/attachment.html>


More information about the Python-ideas mailing list