[$] The troubles with Boolean inversion in Python
Date:
Fri, 27 Feb 2026 16:21:11 +0000
Description:
The Python bitwise-inversion (or complement) operator, " ~ ", behaves pretty much as expected when it is applied to integersit toggles every
bit, from one
to zero and vice versa. It might be expected that applying the
operator to a non-integer, a bool for example, would raise a TypeError , but, because the bool type is really an int in disguise, the complement operator
is allowed, at least for now. For
nearly 15years (and perhaps longer), there have been discussions about the oddity of that behavior and whether it should be changed. Eventually,
that resulted in the "feature" being deprecated, producing a warning, with removal slated for
Python3.16 (due October 2027). That has led to some reconsideration and the deprecation may itself be deprecated.
======================================================================
Link to news story:
https://lwn.net/Articles/1059177/
--- Mystic BBS v1.12 A49 (Linux/64)
* Origin: tqwNet UK HUB @ hub.uk.erb.pw (1337:1/100)