Guido van Rossum wrote:
This is something I've typed way too many times:
Py> class C(): File "<stdin>", line 1 class C(): ^ SyntaxError: invalid syntax
It's the asymmetry with functions that gets to me - defining a function with no arguments still requires parentheses in the definition statement, but defining a class with no bases requires the parentheses to be omitted.
It's fine to fix this in 2.5. I guess I can add this to my list of early oopsies -- although to the very bottom. :-)
It's *not* fine to make C() mean C(object). (We already have enough other ways to declaring new-style classes.)
Fair enough - the magnitude of the semantic difference between "class C:" and "class C():" bothered me a little, too. I'll just have to remember that I can put "__metaclass__ == type" at the top of modules :) Cheers, Nick. -- Nick Coghlan | ncoghlan@email.com | Brisbane, Australia --------------------------------------------------------------- http://boredomandlaziness.skystorm.net