Why new Python 2.5 feature "class C()" return old-style class ?

Georg Brandl g.brandl-nospam at gmx.net
Tue Apr 11 10:04:05 EDT 2006


looping wrote:
> Peter Hansen wrote:
>> Georg Brandl wrote:
>> > class C():
>> >
>> > is meant to be synonymous with
>> >
>> > class C:
>> >
>> > and therefore cannot create a new-style class.
>>
>> I think "looping" understands that, but is basically asking why anyone
>> is bothering with a change that involves a part of the language that is
>> effectively deprecated.  In other words, class(): never used to be
>> valid, so why make it valid now?
>>
>> -Peter
> 
> Exact.
> But I think that if we make "class C():" a synonym of "class
> C(object):", it will save lot of keystrokes ;-)

If you have many classes in a module, putting

__metaclass__ = type

at the top can save you these keystrokes.

Georg



More information about the Python-list mailing list