On Sun, Mar 8, 2020 at 10:10 AM Christopher Barker <python...@gmail.com> wrote: > > On Sat, Mar 7, 2020 at 3:01 PM Cameron Simpson <c...@cskk.id.au> wrote: >> >> Like yours, they return the original object if unchanged. > > > that makes me uncomfortable, but I guess as srings are mutable (an may be > interned, why not?) > > Do the other string methods return themselves if there is no change? >
Yes. There's no reason not to; it's more efficient to return the same string, and perfectly safe to do so. Not every method returns itself when there's no change, but when it's easy to do, they do: >>> x = "hello world, this is a test" >>> x.strip("@") is x True >>> x.replace("@", "#") is x True >>> x.zfill(5) is x True >>> x.center(5) is x True But: >>> x.lower() is x False >>> x.lower() == x True ChrisA _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/GGYZZNNOGLRDQ74XCKUI7ZSFWYOGBGNH/ Code of Conduct: http://python.org/psf/codeofconduct/