extra positional arguments before optional parameters syntax

George Sakkis george.sakkis at gmail.com
Wed Jun 18 17:34:39 EDT 2008


On Jun 18, 5:25 pm, MisterWilliam <mr.williamch... at gmail.com> wrote:

> 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.)

You didn't search hard enough; it's three PEPs earlier:

http://www.python.org/dev/peps/pep-3102/

George



More information about the Python-list mailing list