What are new-style classes?
Reinhold Birkenfeld
reinhold-birkenfeld-nospam at wolke7.net
Sun Aug 28 15:24:50 EDT 2005
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
More information about the Python-list
mailing list