[Python-Dev] Remove str.find in 3.0?

Bill Janssen janssen at parc.com
Sat Aug 27 05:58:23 CEST 2005


Don't know *what* I wasn't thinking :-).

Bill

> On 8/26/05, Bill Janssen <janssen at parc.com> wrote:
> > Doubt it.  The problem with returning None is that it tests as False,
> > but so does 0, which is a valid string index position.  The reason
> > string.find() returns -1 is probably to allow a test:
> > 
> >       if line.find("\f"):
> >          ... do something
> 
> This has a bug; it is equivalent to "if not line.startswith("\f"):".
> 
> This mistake (which I have made more than once myself and have seen
> many times in code by others) is one of the main reasons to want to
> get rid of this style of return value.
> 
> > Might add a boolean "str.contains()" to cover this test case.
> 
> We already got that: "\f" in line.


More information about the Python-Dev mailing list