Re: [Python-Dev] Fwd: Problem withthe API for str.rpartition()

2006年9月05日 10:13:06 -0700

>
> 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
[email protected]
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