On Thu, Feb 25, 2021 at 5:05 AM Richard Damon <rich...@damon-family.org> wrote: > > On 2/24/21 12:34 PM, Chris Angelico wrote: > > On Thu, Feb 25, 2021 at 4:28 AM Barry Scott <ba...@barrys-emacs.org> wrote: > >> > >> > >> On 23 Feb 2021, at 22:10, Steven D'Aprano <st...@pearwood.info> wrote: > >> > >> There are exactly 2**4 = 16 boolean operators of two variables. Python > >> only supports two: `and` and `or`. Plus a single unary operator `not` > >> (out of four possible unary operators). What makes xnor so special that > >> you want it to be an operator? > >> > >> > >> Python implements more then 2 of them: > >> > >> True > >> False > >> not > >> and > >> or > >> > >> https://en.wikipedia.org/wiki/Boolean_algebras_canonically_defined#Truth_tables > >> > > True and False aren't operators in Python. Notionally you could say > > that "take any input(s) and return True" could be considered an > > operator in theory, but you can't write "x True y" to achieve that in > > Python. > > > > ChrisA > > True, but you aren't really going to define real operators in a language > that always ignore one or both of their arguments. > > Thus, of the 16 theoretical operators in the list, the 6 that don't > depend on both values aren't going to get a real operator, and if you > actually want that operation, you do have a 'spelling' in Python for it. >
Sure. In any case, since it's easy to define operators in terms of each other, Python needs just a handful to give the power to the programmer. The others don't need any language support. 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/OYLGOWWOZMTEPZVMHTGZLFFT4CPHO4NF/ Code of Conduct: http://python.org/psf/codeofconduct/