9 comments

[ 244 ms ] story [ 1766 ms ] thread
Plase read the docs for the dir function before it's source code, before complaining so loud. Direct quote "Note Because dir() is supplied primarily as a convenience for use at an interactive prompt, it tries to supply an interesting set of names more than it tries to supply a rigorously or consistently defined set of names, and its detailed behavior may change across releases. For example, metaclass attributes are not in the result list when the argument is a class."
The ticket was also closed by the author as it what pretty much determined to be a "won't fix".

http://bugs.python.org/issue19002

practicality beats purity
Yes, but purity generates a lot more blog posts than practicality. Or so it seems.
Python objects can override __dir__, which is all dir() calls anyway.

It looks like this is all for an autocompletion library. Why not just write jedi.dir (jedir?)

I personally haven't wanted dir() to do this, however I guess I could see the case for an extension to dir such as:

dir(inst, traverseclass=True)

Maybe the author should write a PEP?