> There are basically two ways for a system, such as a > Python function, to indicate 'I cannot give a normal response." One (1a) > is to give an inband signal that is like a normal response except that it > is not (str.find returing -1). A variation (1b) is to give an inband > response that is more obviously not a real response (many None returns). > The other (2) is to not respond (never return normally) but to give an > out-of-band signal of some sort (str.index raising ValueError). > > Python as distributed usually chooses 1b or 2. I believe str.find and > .rfind are unique in the choice of 1a.
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 Might add a boolean "str.contains()" to cover this test case. Bill _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com