15.2 The operator Module

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.

Table 15-1. 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



    Part III: Python Library and Extension Modules