News for hackers. Stuff that matters.
Re:Why does `True == False is False` evaluate to False in Py... by amelius on Saturday May 02, 2020 @06:38AM (#23050885)
I guess it's ok if you are aware of it but this can be a source of bugs: let's say you're not aware of this "feature" and you are in the middle of writing some code and want to know whether A is A always evaluates to true for integers. So you fire up Python and type "10 is 10" which gives True. ...
Re:Why does `True == False is False` evaluate to False in Py... by Alphaeus on Sunday May 03, 2020 @06:54PM (#23062565)
Using 'is' on integers raises a SyntaxWarning in 3.8+
Re:Why does `True == False is False` evaluate to False in Py... by lonelappde on Saturday May 02, 2020 @09:25AM (#23051641)
That's why you should read the spec and not guess a function's definition from one example.

Otherwise you'll end up thinking that almost everything is simply an alias for constant True or 0 or Error, by popping in 0 to any operator you check.

Re:Why does `True == False is False` evaluate to False in Py... by amelius on Saturday May 02, 2020 @09:45AM (#23051739)
No. Imho, a good language designer will make it possible to learn the language incrementally without surprises. For example, a tutorial on a language should not start with "please read the spec first or you may encounter some awkward and counter-intuitive behavior in areas you thought you had already mastered".