Python operator xor()

The operator.xor function in Python's operator module performs a bitwise XOR (exclusive OR) operation on two numbers. It is equivalent to using the ^ operator but allows the bitwise XOR operation to be used as a function, which can be useful in functional programming and higher-order functions.

Table of Contents

  1. Introduction
  2. operator.xor Function Syntax
  3. Examples
    • Basic Usage
    • Using with Lists
    • Using in Functional Programming
  4. Real-World Use Case
  5. Conclusion

Introduction

The operator.xor function is a part of the operator module, which provides a set of functions corresponding to standard operators. The operator.xor function specifically performs a bitwise XOR operation on two numbers. This can be particularly useful when you need to pass the bitwise XOR operation as a function to other functions or use it in places where a function is required.

operator.xor Function Syntax

Here is how you use the operator.xor function:

import operator

result = operator.xor(a, b)

Parameters:

  • a: The first number (integer).
  • b: The second number (integer).

Returns:

  • The result of the bitwise XOR operation between a and b.

Examples

Basic Usage

Perform a bitwise XOR operation using operator.xor.

Example

import operator

a = 10  # Binary: 1010
b = 4   # Binary: 0100
result = operator.xor(a, b)
print(f"xor({a}, {b}) = {result}")

Output:

xor(10, 4) = 14

Using with Lists

Perform element-wise bitwise XOR operation on two lists using map and operator.xor.

Example

import operator

list1 = [10, 20, 30]  # Binary: 1010, 10100, 11110
list2 = [4, 15, 29]   # Binary: 0100, 01111, 11101
result = list(map(operator.xor, list1, list2))
print(f"Element-wise bitwise XOR of {list1} and {list2} = {result}")

Output:

Element-wise bitwise XOR of [10, 20, 30] and [4, 15, 29] = [14, 27, 3]

Using in Functional Programming

Use operator.xor with reduce to perform a sequential bitwise XOR operation on a list of numbers.

Example

import operator
from functools import reduce

numbers = [15, 7, 3]  # Binary: 1111, 0111, 0011
result = reduce(operator.xor, numbers)
print(f"Sequential bitwise XOR of {numbers} = {result}")

Output:

Sequential bitwise XOR of [15, 7, 3] = 11

Real-World Use Case

Encryption and Decryption

In simple encryption algorithms, you might need to perform bitwise XOR operations on data. The operator.xor function can be used to achieve this.

Example

import operator

# Example data and key
data = 0b1101  # Binary: 1101
key = 0b1010   # Binary: 1010

# Encrypt data
encrypted_data = operator.xor(data, key)
print(f"Encrypted data: {encrypted_data} (Binary: {bin(encrypted_data)})")

# Decrypt data
decrypted_data = operator.xor(encrypted_data, key)
print(f"Decrypted data: {decrypted_data} (Binary: {bin(decrypted_data)})")

Output:

Encrypted data: 7 (Binary: 0b111)
Decrypted data: 13 (Binary: 0b1101)

Conclusion

The operator.xor function is used for performing bitwise XOR operations in a functional programming context in Python. It provides a way to use the bitwise XOR operation as a function, which can be passed to other functions or used in higher-order functions. By understanding how to use operator.xor, you can write more flexible and readable code that leverages functional programming techniques.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare