On 10 Oct 2013 08:07, "Ethan Furman" <et...@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~
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com