extra positional arguments before optional parameters syntax

Discussion in 'Python' started by MisterWilliam, Jun 18, 2008.

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

    William Chang
    MisterWilliam, Jun 18, 2008
    1. Advertisements

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


    George Sakkis, Jun 18, 2008
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.