[Python-Dev] introducing __dir__?
Nick Coghlan
ncoghlan at gmail.com
Fri Jul 7 13:55:45 CEST 2006
Fred L. Drake, Jr. wrote:
> On Thursday 06 July 2006 13:22, tomer filiba wrote:
> > my suggestion is simple -- replace this mechanism with a __dir__ -
> > a special method that returns the list of attributes of the object.
> >
> > rationale:
> > * remove deprecated __methods__, etc.
> > * symmetry -- just like hex() calls __hex__, etc.
> > * __methods__ and __members__ are lists rather than callable
> > objects, which means they cannot be updated on-demand
>
> +1
+1 here, too.
It would also allow objects which override __getattribute__ and/or __getattr__
to make dir() provide a sane answer (or raise an exception to indicate that a
sane answer isn't possible). (This was something that actually came up when
trying to implement a namespace object that *didn't* automatically fall back
to its class namespace for Python level attribute access)
For backwards compatibility, dir() could still fall back to the current
mechanism if __dir__ isn't found.
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
http://www.boredomandlaziness.org
More information about the Python-Dev
mailing list