[Python-Dev] Requesting that a class be a new-style class
Nick Coghlan
ncoghlan at iinet.net.au
Sun Feb 20 03:13:25 CET 2005
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 at email.com | Brisbane, Australia
---------------------------------------------------------------
http://boredomandlaziness.skystorm.net
More information about the Python-Dev
mailing list