On 11/10/06, Fredrik Lundh <[EMAIL PROTECTED]> wrote: > Guido van Rossum wrote: > > > No objection on targetting 2.6 if other developers agree. Seems this > > is well under way. good work! > > given that dir() is used extensively by introspection tools, I'm > not sure I'm positive to a __dir__ that *overrides* the standard > dir() behaviour. *adding* to the default dir() list is okay, re- > placing it is a lot more questionable.
I think that ought to go into the guidlines for what's an acceptable __dir__ implementation. We don't try to stop people from overriding __add__ as subtraction either. > (what about vars(), btw?) Interesting question! Right now vars() and dir() don't seem to use the same set of keys; e.g.: >>> class C: pass ... >>> c = C() >>> c.foo = 42 >>> vars(c) {'foo': 42} >>> dir(c) ['__doc__', '__module__', 'foo'] >>> It makes some sense for vars(x) to return something like dict((name, getattr(x, name)) for name in dir(x) if hasattr(x, name)) and for the following equivalence to hold between vars() and dir() without args: dir() == sorted(vars().keys()) -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ 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/archive%40mail-archive.com