What are new-style classes?
Colin J. Williams
cjw at sympatico.ca
Tue Aug 30 11:54:27 EDT 2005
Reinhold Birkenfeld wrote:
> Terry Hancock wrote:
>
>>On Sunday 28 August 2005 04:47 am, Vaibhav wrote:
>>
>>>I recently heard about 'new-style classes'. I am very sorry if this
>>>sounds like a newbie question, but what are they? I checked the Python
>>>Manual but did not find anything conclusive. Could someone please
>>>enlighten me? Thanks!
>>
>>"New style" classes are becoming the standard in Python, and must
>>always be declared as a subclass of a new style class, including built-in
>>classes.
>
>
> [Warning, advanced stuff ahead!]
>
> That's not entirely true. New-style classes need not be derived from a new-
> style class, they need to use the metaclass "type" or a derived.
>
> So you can also declare a new-style class as
>
> class new_class:
> __metaclass__ = type
>
> Or, if you want to switch a whole module with many classes to new-style, just set a
>
> __metaclass__ = type
>
> globally.
>
>
> Reinhold
What are the pros and cons of the alternate approach?
Colin W.
More information about the Python-list
mailing list