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 <n...@cs.stanford.edu> wrote: > 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 <ros...@gmail.com> wrote: > >> On Wed, Sep 1, 2021 at 6:06 AM Nick Parlante <n...@cs.stanford.edu> >> 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-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/KE4C6L63CLEG65ZTCTJKCQ6OPMU3UBIA/ >> Code of Conduct: http://python.org/psf/codeofconduct/ >> > _______________________________________________ > 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/KXWBSEO34MKUDATUEJ5U3YCIZXFH7KE2/ > Code of Conduct: http://python.org/psf/codeofconduct/ >
_______________________________________________ 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/SVKJYS4WM3WSY22BCT5BY36GA5UXBJZC/ Code of Conduct: http://python.org/psf/codeofconduct/