Hi, It seems to me that one of the few really "bad" method names in the Python library that I regularly encounter is re.sub().
I don't like the name because: (1) It is an abbreviation, but not an "obvious" one like max and min (2) It is an ambiguous name: could be substitute or could be subtract (3) Elsewhere where special method __foo__ that implements a named (as opposed to symbol-based) method, that method is called foo. For example, __cmp__() -> cmp(), __int__() -> int(), __len__() -> len(). But __add__ -> +, __sub__() -> -. (4) It is the only function with this name in the library; whereas there are several replace methods: bytes.replace() str.replace() datetime.date.replace() # and a few others, plus some replace_* functions. Although re.substitute() would work (and be better than sub), I think re.replace() is better and more consistent regarding the rest of the library. And as for subn, well, replacen or substituten are possible, but why not have just one method and have an optional keyword argument if a tuple is wanted? -- Mark Summerfield, Qtrac Ltd., www.qtrac.eu _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com