__bases__ attribute on classes not displayed by dir() command
eryk sun
eryksun at gmail.com
Thu Feb 4 03:56:46 EST 2016
On Thu, Feb 4, 2016 at 2:03 AM, ast <nomail at invalid.com> wrote:
> but if I am using dir to display all Carre's attributes and methods,
> __bases__ is not on the list. Why ?
The __bases__ property is defined by the metaclass, "type". dir() of a
class doesn't show attributes from the metaclass [1].
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.
To see the metaclass attributes use dir(type(Carre)).
[1]: https://docs.python.org/3/library/functions.html#dir
More information about the Python-list
mailing list