[Python-Dev] partition() variants

Guido van Rossum guido at python.org
Fri May 26 23:27:01 CEST 2006


I think you're getting to implementation details here. Whether a new
string is returned or a reference to the old one is an optimization
decision. I don't think it's worth legislating this behavior one way
or another (especially since it's mostly a theoretical issue).

--Guido

On 5/26/06, Walter Dörwald <walter at livinglogic.de> wrote:
> Guido van Rossum wrote:
> > On 5/26/06, Walter Dörwald <walter at livinglogic.de> wrote:
> > [...]
> >> And what happens if the separator is an instance of a subclass?
> >>
> >> class s2(str):
> >>     def __repr__(self):
> >>         return "s2(%r)" % str(self)
> >>
> >> print "foobar".partition(s2("o"))
> >>
> >> Currently this prints:
> >>    ('f', s2('o'), 'obar')
> >> Should this be
> >>    ('f', 'o', 'obar')
> >> or not?
> >>
> >> And what about:
> >>    print s2("foobar").partition("x")
> >> Currently this prints
> >>    (s2('foobar'), '', '')
> >
> > These are both fine with me.
>
> split() doesn't behave that way:
>
> >>> s2("foobar").split("x")
> ['foo']
>
> Servus,
>    Walter
>
>
>
>


-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)


More information about the Python-Dev mailing list