Just to be clear, I wasn't suggesting forcing parens for class definitions.  Rather make them optional for functions!


On Thu, Jan 31, 2013 at 11:35 AM, Jason Keene <jasonkeene@gmail.com> wrote:
Why do function definitions require parens?

>>> class MyClass:
...     pass
...
>>> def my_func:
  File "<stdin>", line 1
    def my_func:
               ^
SyntaxError: invalid syntax

This seems to me to break a symmetry with class definitions.  I assume this is just a hold off from C, perhaps there is a non-historical reason tho.

I believe in the past we've forced parens in list comprehensions to create a symmetry between comprehensions/generator expressions.  Why not for this?