[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