[Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)]
on win32]

Given the following:

>>> sum(i for i in range(10))
45
>>> def f(*args) : print args
...
>>> f(i for i in range(10))
(<generator object at 0x00A79788>,)
>>> def f(a,*args) : print a,ar
...
>>> f(4,i for i in range(10))
  File "<stdin>", line 1
SyntaxError: invalid syntax


Why does Python allow generator expression parenthesis to be mixed with
function call parenthesis when there is only one parameter ?

IMHO this should be forbidden, usage must not be different when there is
only one parameter and when there are more parameters.
User should all times explicitly use () for a generator expression and
[] for a list comprehension expression.


-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to