On 2005 Feb 19, at 06:03, Nick Coghlan 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. Seconded. It's always irked me enough that it's the only ``apology'' for Python syntax you'll see in the Nutshell -- top of p. 71, "The syntax of the class statement has a small, tricky difference from that of the def statement" etc. > 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):"? -0 ... instinctively, I dread the task of explaining / teaching about the rationale for this somewhat kludgy transitional solution [[empty parentheses may be written OR omitted, with large difference in meaning, not very related to other cases of such parentheses]], even though I think you're right that it would make the future transition to 3.0 somewhat safer. Alex
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4