range Failure?
Bengt Richter
bokr at oz.net
Sun Mar 10 20:06:48 EST 2002
On Sun, 10 Mar 2002 19:34:36 -0500, Peter Hansen <peter at engcorp.com> wrote:
>Bengt Richter wrote:
>>
>> On Sun, 10 Mar 2002 11:07:18 -0500, "Colin J. Williams" <cjw at sympatico.ca> wrote:
>> [...]
>> >It might say:
>> >
>> > range([start= 0,] stop[, step= 1])
>>
>> Still, the two optional []'s are not valid in all combinations,
>> (which is what you fix with your improved text ;-)
>> so maybe it should say something like:
>>
>> range([start= 0,] stop) # where step defaults to 1, or
>> range(start, stop [, step= 1])
>
>Why not be very explicit, rather than fancy and confusing?
>The above is an improvement over the original, but perhaps
>this is better?
>
> range(stop) # start is 0, step is 1
> range(start, stop [, step=1])
>
Yes, that is better.
>Answering my own question: the first of the three is pretty bad.
>The second one suffers from implying that Python can have optional
>positional arguments which come before non-optional ones. The
>third suffers from implying (perhaps?) that Python can have
>overloaded methods.
>
>Since range() doesn't take keyword arguments, even my second
>one above could be considered a little bit confusing, if you
>think that implies you can say range(1, 6, step=2) which you
>cannot.
>
I guess it's a matter of defining the grammar of usage documentation.
Regards,
Bengt Richter
More information about the Python-list
mailing list