XOR in Python

XOR Operator in Python is also known as “exclusive or”  that compares two binary numbers bitwise if two bits are identical XOR outputs as 0 and when two bits are different then XOR outputs as 1. XOR can even be used on booleans.

XOR is mainly used in situations where we don’t want two conditions to be true simultaneously. In this tutorial, we will look explore multiple ways to perform XOR (exclusive OR) operations in Python with examples.

Bitwise Operator

Bitwise operators in Python are also called binary operators, and it is mainly used to perform Bitwise calculations on integers, the integers are first converted into binary, and later the operations are performed bit by bit.

Python XOR Operator

Let’s take a look at using the XOR ^ Operator between 2 integers. When we perform XOR between 2 integers, the operator returns the integer as output.

a=  5  #0101
b = 3  #0011

result	= (a ^ b) #0110


# Output
# 6 (0110)

Let’s take a look at using XOR on two booleans. In the case of boolean, the true is treated as 1, and the false is treated as 0. Thus the output returned will be either true or false.

print(True ^ True)
print(True ^ False)
print(False ^ True)
print(False ^ False)



XOR using Operator Module

We can even achieve XOR using the built-in operator module in Python. The operator module has a xor() function, which can perform an XOR operation on integers and booleans, as shown below.

import operator



  1. x = 5
    x |= 3
    # answer is: 7

    please explain for me why the answer is 7 in above line of codes in Python?
    I do not understand.
    thank you

    1. Hello John,

      The example that you have provided is for In-Place Bitwise OR operator. The OR operator is represented in Python using the |=

      However, the topic is on the XOR operator also called as (eXclusive OR) and it is represented using the In-place bitwise operator ^=.

      Below is the code using the XOR which results the output to 6. So if you would like to use the XOR you need to modify your code as mentioned below.

      a = 5
      a ^= 3

Leave a Reply

Your email address will not be published. Required fields are marked *

Sign Up for Our Newsletters

Subscribe to get notified of the latest articles. We will never spam you. Be a part of our ever-growing community.

You May Also Like
Python Comment Block / Python Multiline Comment

Python Comment Block

Table of Contents Hide Introduction to Python Comment BlockTypes of comments in PythonSingle-line commentsInline commentsMultiline commentsUsing Multiple Hashtags (#)Python docstringsSingle line docstringsMulti-line docstrings Comments are a piece of text in…
View Post