On 10 Oct 2013 08:07, "Ethan Furman" <ethan at stoneleaf.us> wrote: > > On 10/09/2013 02:46 PM, Nick Coghlan wrote: > >> On 10 Oct 2013 03:39, "Ethan Furman" wrote: >>> >>> >>> My apologies. I am actually talking about the module. I meant >>> inspect.get_members() and inspect.classify_class_attrs(), which, >>> as near as I can tell, are the only two functions in inspect that >>> attempt to retrieve/look at all of an object's attributes. >> >> >> Those have to depend on __dir__ so classes (especially proxies) can accurately report *extra* dynamically accessible names. > > > Indeed, my rough idea is to use the results of the new dir() and combining that with the results of the old dir(). The use case being that some classes *ahem* Enum *ahem* may report *less* than is actually available, but introspection should reveal whatever is there even if dir() is not reporting it. Not necessarily. For autocompletion, for example, you probably only want the public stuff. That's why I'm inclined to suggest the existing functions should continue to only report advertised attributes, with a separate introspection API that tries harder to find all accessible attributes (potentially including those from the metaclass). That way users can choose the one most appropriate to their use case, as well as being able to use the latter to help test custom dir support. Cheers, Nick. > > -- > ~Ethan~ -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20131010/89180ed3/attachment-0001.html>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4