DEV Community

Srinivas Ramakrishna for ItsMyCode

Posted on • Originally published at itsmycode.com on

XOR in Python

ItsMyCode |

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

print(result)

# Output
# 6 (0110)
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

Output

False
True
True
False
Enter fullscreen mode Exit fullscreen mode

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

print(operator.xor(5,3))
print(operator.xor(True,True))
print(operator.xor(True,False))
print(operator.xor(False,True))
print(operator.xor(False,False))

Enter fullscreen mode Exit fullscreen mode

Output

6
False
True
True
False
Enter fullscreen mode Exit fullscreen mode

The post XOR in Python appeared first on ItsMyCode.

Top comments (0)