On Tue, Aug 10, 2021 at 12:03 AM Simão Afonso <simao.afonso@powertools-tech.com> wrote:
On 2021-08-09 23:57:42, Chris Angelico wrote:
On Mon, Aug 9, 2021 at 10:32 PM Samuel Freilich <sfreilich@google.com> wrote:
Even without it being used in as complicated a way as that it's still not backward compatible because of the trivial case, as foo.endswith("") is True.
I was talking specifically about the original, which can be depended upon to return True or False. Changing the return value would break anything that depends on that.
Not sure what you're referring to.
I think this is the problem:
"str".endswith("") is True True "" is True <stdin>:1: SyntaxWarning: "is" with a literal. Did you mean "=="? False
Even if you use the return value as a bool, it will flip the result.
Yep, that's also a problem, but I don't understand why my comment about "can be used eg for indexing" was being quoted for context there. I was talking about how you could do something like this: protocol = ("ws:", "wss:")[url.startswith("https:")] If the return value changes, this breaks. ChrisA