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