newb __init__ inheritance
Peter Otten
__peter__ at web.de
Sun Mar 11 08:12:25 EDT 2012
Ian Kelly wrote:
> On Sun, Mar 11, 2012 at 5:40 AM, Ian Kelly <ian.g.kelly at gmail.com> wrote:
>>> 2. Is the mro function available only on python3?
>>
>> No, but it is available only on new-style classes. If you try it on a
>> classic class, you'll get an AttributeError.
>
> And by the way, you probably shouldn't call the mro method directly.
> That method is provided so that it can be overridden in order to
> customize the MRO at class creation. The proper (and faster) way to
> look up the MRO for a class is using the __mro__ attribute, which
> stores the result of the mro method when the class is initialized.
>
> http://docs.python.org/library/stdtypes.html?highlight=mro#class.__mro__
Is it a good idea to use mro() or __mro__ at all? Are there common use cases
that cannot be addressed with super()?
More information about the Python-list
mailing list