News [LWN.net] [$] The troubles with Boolean inversion in Python

News

LinuxBot

Member
Joined
Apr 25, 2017
Messages
6,210
Reaction score
89
Credits
-1,257
The Python bitwise-inversion (or complement) operator, "~", behaves pretty much as expected when it is applied to integers—it 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 15 years (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 Python 3.16 (due October 2027). That has led to some reconsideration and the deprecation may itself be deprecated.

Source: https://lwn.net/Articles/1059177/

Aggregated via Linux News
 


Follow Linux.org

Members online


Top