On Mon, Dec 21, 2020 at 8:26 AM Paul Bryan <pbr...@anode.ca> wrote: > Wouldn't that still work if bool's __int__ returns 1? >
Yes, there are ways you could accomplish the `sum(trues)` pattern other than making bool a subclass of int. But as Chris points out, the value of `1 == True == 1.0` is pretty fundamental to many other patterns also. And likewise, things being in sets by equality rather than identity is likewise fundamental. The change you suggest to make `True != 1` "breaks the world". > > On Mon, 2020-12-21 at 03:09 -0500, David Mertz wrote: > > I sure hope this never happens! It would break millions of working lines > and kill a common useful pattern. > > ntrue = sum(this == that for this, that in items) > > -100. > > On Mon, Dec 21, 2020, 3:00 AM Paul Bryan <pbr...@anode.ca> wrote: > > I know this has come up in the past. > > Could the consensus have changed regarding bool's inheritance from int? > > This is not intuitive (to me), and recently bit me as a bug: > > Python 3.9.1 (default, Dec 13 2020, 11:55:53) > > [GCC 10.2.0] on linux > > Type "help", "copyright", "credits" or "license" for more information. > > >>> {1,True} > > {1} > > > I've worked around it by storing tuple(type, value) in the set, which is > fugly. Yes, I need mixed types in the set, and I'm using the set for > efficient lookup. > > A contrived example I dreamed-up, which I also find non-intuitive: > > >>> x = {} > > >>> x[True] = 1 > > >>> x > > {True: 1} > > >>> x[1] = 1 > > >>> x > > {True: 1} > > > Maybe a wish list item for Python 4.0? > > _______________________________________________ > 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/3GIWJ3IOTZMJ3ZFPJPQ3EF3SSLBEOSID/ > Code of Conduct: http://python.org/psf/codeofconduct/ > > > -- The dead increasingly dominate and strangle both the living and the not-yet born. Vampiric capital and undead corporate persons abuse the lives and control the thoughts of homo faber. Ideas, once born, become abortifacients against new conceptions.
_______________________________________________ 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/US4EQCGIKGUPI4IBH4VUXCK7FP5GZ5FG/ Code of Conduct: http://python.org/psf/codeofconduct/