Introduction
Operator module provides efficient, pure-Python equivalents of many built-in operators.
Arithmetic Operators
from operator import add, sub, mul, truediv, floordiv, pow, mod
print(add(2, 3)) # 5
print(mul(4, 5)) # 20
print(pow(2, 3)) # 8
print(mod(10, 3)) # 1
Comparison Operators
from operator import eq, ne, lt, le, gt, ge
print(eq(5, 5)) # True
print(lt(3, 5)) # True
print(ge(10, 10)) # True
Item and Attribute Operators
from operator import itemgetter, attrgetter, methodcaller
# Item getter
data = [("a", 1), ("b", 2)]
print(sorted(data, key=itemgetter(1))) # Sort by second element
# Attr getter
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
people = [Person("Bob", 30), Person("Alice", 25)]
print(sorted(people, key=attrgetter("age")))
# Method caller
s = "hello"
upper = methodcaller("upper")
print(upper(s)) # HELLO
Practice Problems
- Sort list of tuples with itemgetter
- Use attrgetter for object sorting
- Replace lambda with operator functions
- Create operator-based pipeline
- Use methodcaller for string operations