Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Python's dir function is wrong (jedidjah.ch)
29 points by zedpm on Sept 12, 2013 | hide | past | favorite | 9 comments


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


It was closed by R. David Murray (a Python core developer), not David Halter (the author)


And for all those interested in the blog post, I recommend you read David Murray's reason and suggestion.


And the link straight to that is http://bugs.python.org/issue19002#msg197498


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?


practicality beats purity


Yes, but purity generates a lot more blog posts than practicality. Or so it seems.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: