>
> This change looks wrong:
>
> PyDoc_STRVAR(rpartition__doc__,
> -"S.rpartition(sep) -> (head, sep, tail)\n\
> +"S.rpartition(sep) -> (tail, sep, head)\n\
>
> It looks like the code itself does the right thing, but I wasn't quite
> confident of that.
>
It is correct.  There may be some confusion in terminology.  Head and 
tail do not mean left-side or right-side. Instead, they refer to the 
"small part chopped-off" and "the rest that is still choppable". Think 
of head and tail in the sense of car and cdr.

A post-condition invariant for both str.partition() and str.rpartition() is:

    assert sep not in head

For non-looping cases, users will likely to use different variable names 
when they unpack the tuple:

   left, middle, right = s.rpartition(p)

But when they perform multiple partitions, the "tail" or "rest" 
terminology is more appropriate for the part of the string that may 
still contain separators.


Raymond
 






_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to