[Python-Dev] Early PEP draft (For Python 3000?)
Josiah Carlson
jcarlson at uci.edu
Wed Oct 19 20:03:13 CEST 2005
Jim Jewett <jimjjewett at gmail.com> wrote:
>
> (In http://mail.python.org/pipermail/python-dev/2005-October/057251.html)
> Eyal Lotem wrote:
>
> > Name: Attribute access for all namespaces ...
>
> > global x ; x = 1
> > Replaced by:
> > module.x = 1
>
> Attribute access as an option would be nice, but might be slower.
>
> Also note that one common use for a __dict__ is that you don't
> know what keys are available; meeting this use case with
> attribute access would require some extra machinery, such as
> an iterator over attributes.
This particular use case is easily handled. Put the following once at
the top of the module...
module = __import__(__name__)
Then one can access (though perhaps not quickly) the module-level
variables for that module. To access attributes, it is a quick scan
through module.__dict__, dir(), or vars().
Want to make that automatic? Write an import hook that puts a reference
to the module in the module itself on load/reload.
- Josiah
More information about the Python-Dev
mailing list