sort(*, key=None, reverse=None)

Chris Angelico rosuav at gmail.com
Sat Dec 21 02:35:20 EST 2013


On Sat, Dec 21, 2013 at 6:24 PM, Mark Lawrence <breamoreboy at yahoo.co.uk> wrote:
> On 21/12/2013 07:20, Devin Jeanpierre wrote:
>>
>> On Fri, Dec 20, 2013 at 11:16 PM, Mark Lawrence <breamoreboy at yahoo.co.uk>
>> wrote:
>>>
>>> The subject refers to the list sort method given here
>>> http://docs.python.org/3/library/stdtypes.html#list.  I believe that the
>>> "*," bit is simply a typo, given that the docs also state "sort() accepts
>>> two arguments that can only be passed by keyword".  Am I correct?
>>
>>
>> It's good practice in technical writing to repeat yourself: once in
>> the formal spec, and once in plain english. I don't see why this would
>> be a typo.
>>
>> -- Devin
>>
>
> So what is it actually saying?

def func(x, y, *moreargs, foo, bar):
    pass

Any positional args after x and y will go into moreargs, so foo and
bar have to be specified by keywords. (And are mandatory, since I
didn't default them.) If moreargs isn't given a name, then additional
positional args are forbidden, but the requirements on foo and bar are
the same.

ChrisA



More information about the Python-list mailing list