The operator Module

The operator module supplies functions that are equivalent to Python’s operators. These functions are handy in 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 Special Methods). Each function is available with two names, with and without 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 the operator module.

Table 15-1. Functions supplied by the operator module

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

eq

eq(a,b)

a==b

floordiv

floordiv(a,b)

a//b

ge

ge(a,b)

a>=b

getitem

getitem(a,b)

a[b]

getslice

getslice(a,b,c)

a[b:c]

gt

gt(a,b)

a>b

indexOf

indexOf(a,b)

a.index(b)

invert, inv

invert(a), inv(a)

~a

is

is(a,b)

a is b

is_not

is_not(a,b)

a is not b

le

le(a,b)

a<=b

lshift

lshift(a,b)

a<<b

lt

lt(a,b)

a<b

mod

mod(a,b)

a%b

mul

mul(a,b)

a*b

ne

ne(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

truediv

truediv(a,b)

a/b # "true" div -> no truncation

truth

truth(a)

not not a, bool(a)

xor_

xor(a,b)

a^b

Module operator also supplies two higher-order functions whose results are functions suitable ...

Get Python in a Nutshell, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.