If it is not 100% obvious, I would strongly advice any IDE or linter
against disabling E711 as a default.
I'm not a contributors to any of those, so it's not my decision. But were
anyone to ask me...
Moreover, I would strongly discourage any instructor from papering over the
difference between equality and Identity. I guess in a pure functional
language there's no difference. But in Python it's of huge importance.
As noted REPEATEDLY, this isn't just about 'is None'. As soon as you see
these, it is a CRUCIAL distinction:
a = b = []
c, d = [], []
Nary a None in sight, yet the distinction is key.
On Tue, Aug 31, 2021, 5:23 PM Nick Parlante
Hi Chris - well maybe we're looking at different questions. Your examples show it is possible to construct a data type where == None does not work. Clearly that is possible.
1. One conclusion is that the possibility of such == means that in general the == None form is unreliable. This is the proper mindset of the Python implementation, where the classes that need to work are practically unlimited, so relying on == would be unreliable as shown.
2. However, I am interested in the mass of ordinary looking programs that use strings, lists, ints, dicts, tuples, functions etc. to solve some problem. It's extremely likely that all of the classes in such a program have a reasonable definitions of ==. So if the programmer knows that, they can use the "== None" form in complete confidence. It works perfectly.
It's possible to treat (1) as kind definitive, like that possibility ends the argument. I agree (1) is true, but do not find it convincing about the (2) case. I think (2) is more useful for thinking about Python programs in the world.
Best,
Nick
On Tue, Aug 31, 2021 at 1:31 PM Chris Angelico
wrote: On Wed, Sep 1, 2021 at 6:06 AM Nick Parlante
wrote: Is there anyone other than me who would like to push for "== None tolerant" carve out for non-Python-implementation code?
What you're asking is: Is there anyone other than you who would prefer for Python to officially encourage people to write buggy and unreliable code?
No.
I'm done discussing this; if you still genuinely think that "== None" is actually better than "is None", despite all the demonstrations posted, there's no convincing you.
ChrisA _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-leave@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/KE4C6L... Code of Conduct: http://python.org/psf/codeofconduct/
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-leave@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/KXWBSE... Code of Conduct: http://python.org/psf/codeofconduct/