[docs] [issue37818] Behaviors of binary bitwise operators contradicting documentation

John Rogers report at bugs.python.org
Sat Aug 10 22:54:30 EDT 2019

New submission from John Rogers <luinnissar at yahoo.com>:

In Python Language Reference (version 3.7), section 6.9 it states that the arguments of binary bitwise operators must be integers. However, the following expressions work without error:

    True & False
    False | True
    True ^ True

Each produces a boolean result (not integer) (False, True, False, respectively). Also I find that mixing booleans and integers does work too, though this time it produces integers.

One can easily test it on Python home page's console window. I also tested it on my Linux box running version 3.5.3. So it appears that it has been overlooked for quite some time!

As an aside: I do assume that boolean values are *distinct* from integers. If they are not, then my apologies!

assignee: docs at python
components: Documentation
messages: 349372
nosy: The Blue Wizard, docs at python
priority: normal
severity: normal
status: open
title: Behaviors of binary bitwise operators contradicting documentation
type: behavior
versions: Python 3.5, Python 3.7

Python tracker <report at bugs.python.org>

More information about the docs mailing list