The operator module supplies functions that are equivalent to Python's operators. These functions are handy for use with map and reduce, and in other cases where callables must be stored, passed as arguments, or returned as function results. The functions in operator have the same names as the corresponding special methods (covered in Chapter 5). Each function is available with two names, with and without the leading and trailing double underscores (e.g., both operator.add(a,b) and operator._ _add_ _(a,b) return a+b). Table 15-1 lists the functions supplied by operator.
Method |
Signature |
Behaves like |
---|---|---|
abs |
abs(a) |
abs(a) |
add |
add(a,b) |
a+b |
and_ |
and_(a,b) |
a&b |
concat |
concat(a,b) |
a+b |
contains |
contains(a,b) |
b in a |
countOf |
countOf(a,b) |
a.count(b) |
delitem |
delitem(a,b) |
del a[b] |
delslice |
delslice(a,b,c) |
del a[b:c] |
div |
div(a,b) |
a/b |
getitem |
getitem(a,b) |
a[b] |
getslice |
getslice(a,b,c) |
a[b:c] |
indexOf |
indexOf(a,b) |
a.index(b) |
invert, inv |
invert(a), inv(a) |
~a |
lshift |
lshift(a,b) |
a<<b |
mod |
mod(a,b) |
a%b |
mul |
mul(a,b) |
a*b |
neg |
neg(a) |
-a |
not_ |
not_(a) |
not a |
or_ |
or_(a,b) |
a|b |
pos |
pos(a) |
+a |
repeat |
repeat(a,b) |
a*b |
rshift |
rshift(a,b) |
a>>b |
setitem |
setitem(a,b,c) |
a[b]=c |
setslice |
setslice(a,b,c,d) |
a[b:c]=d |
sub |
sub(a,b) |
a-b |
truth |
truth(a) |
not not a |
xor_ |
xor(a,b) |
a^b |