> > On what basis do you ascertain whether "==" would work correctly? > Please explain.
Hi Chris, I'm just glancing at the line of code, and doing a little thought experiment to see if it would get the same output if == was used instead. For a singleton like None or False or the class like "list" .. == will return the same answer as "is". Look at these lines; if mode is None: if type(items) is list: If that code works with "is" it's going to work with == too. People are not used to seeing == in these cases, but it works: >>> x = None >>> x is None True >>> x == None True >>> >>> t = type([1, 2, 3]) >>> t is list True >>> t == list True >>> >>> fn = list.index >>> fn is list.index True >>> fn == list.index True The situations where "is" is truly needed are rather esoteric. Best, Nick On Mon, Aug 30, 2021 at 2:02 PM Chris Angelico <ros...@gmail.com> wrote: > On Tue, Aug 31, 2021 at 6:52 AM Nick Parlante <n...@cs.stanford.edu> > wrote: > > > > I claimed that uses of "is" where it is needed for correctness > > are quite rare. Let me back that up with a little data here. > > > > Just as a random supply of Python code, let's look at > > the first four Python modules where the name starts > > with a letter from the Python standard modules list > > https://docs.python.org/3/py-modindex.html : > > abc.py aifc.py argparse.py ast.py (The array module appears to be in C) > > > > Strip out PyDoc and string literals and just grep > > for " is " (code included below if you'd like to try > > it yourself). Look at those lines - how many of those > > uses of "is" are needed for correctness, where the "is" > > is really doing something, and how many would work > > fine with ==? The resulting lines of code are included below. > > > > There's about 90 uses of is/is-not in this sample. > > 100% of these uses would work correctly using ==. > > Not a single one of these uses actually relies on the "is" > > computation for correctness. > > On what basis do you ascertain whether "==" would work correctly? > Please explain. > > 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/5LM3UMQXPEXWGUPHPGMN2NQSDOJZ2LEZ/ > 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/OFR2HE2MK3HR4K6B4SLUQ2SUZV7KZVTP/ Code of Conduct: http://python.org/psf/codeofconduct/