Requesting that a class be a new-style class
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. Which leads in to the real question: Does this *really* need to be a syntax error? Or could it be used as an easier way to spell "class C(object):"? Then, in Python 3K, simply drop support for omitting the parentheses from class definitions - require inheriting from ClassicClass instead. This would also have the benefit that the elimination of defaulting to classic classes would cause a syntax error rather than subtle changes in behaviour. Cheers, Nick. -- Nick Coghlan | ncoghlan@email.com | Brisbane, Australia --------------------------------------------------------------- http://boredomandlaziness.skystorm.net
participants (9)
-
Alex Martelli
-
Brett C.
-
Guido van Rossum
-
Jack Diederich
-
Michael Hudson
-
Michael Walter
-
Nick Coghlan
-
Phillip J. Eby
-
Raymond Hettinger