extra positional arguments before optional parameters syntax
MisterWilliam
mr.williamchang at gmail.com
Wed Jun 18 17:25:04 EDT 2008
I noticed that in PEP 3105, the PEP about turning print to print(),
the syntax for print() is defined as follows:
def print(*args, sep=' ', end='\n', file=None)
Ignoring the fact that print is a reserved keyword in python, this is
not valid python because extra positional arguments (*args), cannot
come before optional parameters (sep=' ', end='\n', file=None).
>>> def f(*args, sep=' ', end='\n', file=None):
File "<stdin>", line 1
def f(*args, sep=' ', end='\n', file=None):
^
SyntaxError: invalid syntax
Am I misunderstanding something? Is this type of syntax suppose to be
allowed in a future version of Python? (I can't find anything about
this through my searching.) This kind of syntax seems useful,
especially one wants to overwrite the new function print().
Thanks,
William Chang
More information about the Python-list
mailing list