Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

Steve Holden steve at holdenweb.com
Fri Aug 26 22:16:23 EDT 2005


Torsten Bronger wrote:
> Hallöchen!
> 
> "Terry Reedy" <tjreedy at udel.edu> writes:
> 
> 
>>"Paul Rubin" <"http://phr.cx"@NOSPAM.invalid> wrote in message 
>>news:7xmzn41ofc.fsf at ruckus.brouhaha.com...
>>
>>
>>>"Terry Reedy" <tjreedy at udel.edu> writes:
>>>
>>>
>>>>Str.find is redundant with the Pythonic exception-raising
>>>>str.index and I think it should be removed in Py3.
>>>
>>>I like having it available so you don't have to clutter your code
>>>with try/except if the substring isn't there.  But it should not
>>>return a valid integer index.
>>
>>The try/except pattern is a pretty basic part of Python's design.
>>One could say the same about clutter for *every* function or
>>method that raises an exception on invalid input.  Should more or
>>even all be duplicated?  Why just this one?
> 
> 
> Granted, try/except can be used for deliberate case discrimination
> (which may even happen in the standard library in many places),
> however, it is only the second most elegant method -- the most
> elegant being "if".  Where "if" does the job, it should be prefered
> in my opinion.
> 
Of course. But onc you (sensibly) decide to use an "if" then there 
really isn't much difference between -1, None, () and sys.maxint as
a sentinel value, is there?

Which is what I've been trying to say all along.

regards
  Steve
-- 
Steve Holden       +44 150 684 7255  +1 800 494 3119
Holden Web LLC             http://www.holdenweb.com/




More information about the Python-list mailing list