Guido van Rossum wrote: >> (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())
+1. This is easy and straightforward to explain, better than "With a module, class or class instance object as argument (or anything else that has a __dict__ attribute), returns a dictionary corresponding to the object's symbol table." Georg _______________________________________________ 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