[Python-Dev] string.find() again (was Re: timsort for jython)
Guido van Rossum
guido@python.org
Tue, 06 Aug 2002 10:34:34 -0400
> My only remark is that this opens the temptation for someone
> to subclass say UserList and define "in" as subseq
> because it is convenient for the application, for some
> value of convenient. And write "seq1 in seq2".
Yeah, once you allow overloading, you can't prevent abuse. I've heard
of bad C++ programmers who write A+B meaning an assignment to A.
> One can generalize saying that it is OK for sequences
> that are not full-fledged containers and in particular
> do not accept (per contract) subseqs as elements.
In the context of a particular application it can be very useful and
completely unambiguous.
> All the subtle explanation shows that this is indeed a subtle
> point.
Yes!
> Thanks again.
You're welcome. And thanks for your question -- it made me see this
issue in a different light (the correct one :-).
> PS: is pure substring testing such a common idiom?
> I have not found so many
> matches for find\(.*\)\s*> in the std lib,
> but maybe the re is not general enough or
> the std lib is not typical in this respect. Or some
> op error.
The std lib is probably low on string processing ops compared to many
real apps.
--Guido van Rossum (home page: http://www.python.org/~guido/)