Three Minor Feature Requests for 2.2

James_Althoff at James_Althoff at
Wed May 9 13:43:40 EDT 2001

Paul writes:

>> 2.  Amend the syntax for class definitions to optionally accept an empty
>> argument
>> list for superclasses.  This comes up when adding and then later
>> mix-ins.
>>     class C():              # should work as well as class C:
>I've wanted this for years but the argument in favor is so weak that I
>don't think Guido would go for it. "I'm too lazy to remove the useless

Personally, I think the "lazy" argument is compelling enough.  But the
other argument in favor of "class C():" is that it would be very nice to
have some empathy with programmers new to Python who in relying on
"reasonable consistency" as a cornerstone of the "least surprise" principle
find it strange to see that of the following four choices, neither of the
two "reasonably consistent" ones work:

def spam(): pass     # yes
class Eggs(): pass   # no

def spam: pass       # no
class Eggs: pass     # yes

def spam: pass       # no
class Eggs(): pass   # no

def spam(): pass     # yes
class Eggs: pass     # yes

A function definition that has no arguments *requires* empty paren.s
whereas a class definition that has no base class arguments *forbids* empty


More information about the Python-list mailing list