blob: 2169ea89bf7b44781cdca01ab696eb5535de0375 [file] [log] [blame]
Guido van Rossum61ed4db1996-12-06 21:22:41 +00001% Contributed by Skip Montanaro, from the module's doc strings.
2
Fred Drake3a0351c1998-04-04 07:23:21 +00003\section{Built-in Module \module{operator}}
Fred Drake57b5e421998-02-17 22:30:13 +00004\label{module-operator}
Fred Drake3aa28951997-12-16 00:02:01 +00005\bimodindex{operator}
Guido van Rossum61ed4db1996-12-06 21:22:41 +00006
Fred Drakec07ae9f1998-03-08 05:56:15 +00007The \module{operator} module exports a set of functions implemented in C
Guido van Rossum61ed4db1996-12-06 21:22:41 +00008corresponding to the intrinsic operators of Python. For example,
Fred Drakef3e6df11997-12-29 17:11:55 +00009\code{operator.add(x, y)} is equivalent to the expression \code{x+y}. The
Guido van Rossum61ed4db1996-12-06 21:22:41 +000010function names are those used for special class methods; variants without
Fred Drake98b032a1997-12-04 14:20:59 +000011leading and trailing \samp{__} are also provided for convenience.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000012
Fred Drakec07ae9f1998-03-08 05:56:15 +000013The \module{operator} module defines the following functions:
Guido van Rossum61ed4db1996-12-06 21:22:41 +000014
Fred Drake98b032a1997-12-04 14:20:59 +000015\begin{funcdesc}{add}{a, b}
Fred Drakec07ae9f1998-03-08 05:56:15 +000016\funcline{__add__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000017Return \var{a} \code{+} \var{b}, for \var{a} and \var{b} numbers.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000018\end{funcdesc}
19
Fred Drake98b032a1997-12-04 14:20:59 +000020\begin{funcdesc}{sub}{a, b}
Fred Drakec07ae9f1998-03-08 05:56:15 +000021\funcline{__sub__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000022Return \var{a} \code{-} \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000023\end{funcdesc}
24
Fred Drake98b032a1997-12-04 14:20:59 +000025\begin{funcdesc}{mul}{a, b}
Fred Drakec07ae9f1998-03-08 05:56:15 +000026\funcline{__mul__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000027Return \var{a} \code{*} \var{b}, for \var{a} and \var{b} numbers.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000028\end{funcdesc}
29
Fred Drake98b032a1997-12-04 14:20:59 +000030\begin{funcdesc}{div}{a, b}
Fred Drakec07ae9f1998-03-08 05:56:15 +000031\funcline{__div__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000032Return \var{a} \code{/} \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000033\end{funcdesc}
34
Fred Drake98b032a1997-12-04 14:20:59 +000035\begin{funcdesc}{mod}{a, b}
Fred Drakec07ae9f1998-03-08 05:56:15 +000036\funcline{__mod__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000037Return \var{a} \code{\%} \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000038\end{funcdesc}
39
40\begin{funcdesc}{neg}{o}
Fred Drakec07ae9f1998-03-08 05:56:15 +000041\funcline{__neg__}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000042Return \var{o} negated.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000043\end{funcdesc}
44
45\begin{funcdesc}{pos}{o}
Fred Drakec07ae9f1998-03-08 05:56:15 +000046\funcline{__pos__}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000047Return \var{o} positive.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000048\end{funcdesc}
49
50\begin{funcdesc}{abs}{o}
Fred Drakec07ae9f1998-03-08 05:56:15 +000051\funcline{__abs__}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000052Return the absolute value of \var{o}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000053\end{funcdesc}
54
55\begin{funcdesc}{inv}{o}
Fred Drakec07ae9f1998-03-08 05:56:15 +000056\funcline{__inv__}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000057Return the inverse of \var{o}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000058\end{funcdesc}
59
Fred Drake98b032a1997-12-04 14:20:59 +000060\begin{funcdesc}{lshift}{a, b}
Fred Drakec07ae9f1998-03-08 05:56:15 +000061\funcline{__lshift__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000062Return \var{a} shifted left by \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000063\end{funcdesc}
64
Fred Drake98b032a1997-12-04 14:20:59 +000065\begin{funcdesc}{rshift}{a, b}
Fred Drakec07ae9f1998-03-08 05:56:15 +000066\funcline{__rshift__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000067Return \var{a} shifted right by \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000068\end{funcdesc}
69
Fred Drake98b032a1997-12-04 14:20:59 +000070\begin{funcdesc}{and_}{a, b}
Fred Drakec07ae9f1998-03-08 05:56:15 +000071\funcline{__and__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000072Return the bitwise and of \var{a} and \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000073\end{funcdesc}
74
Fred Drake98b032a1997-12-04 14:20:59 +000075\begin{funcdesc}{or_}{a, b}
Fred Drakec07ae9f1998-03-08 05:56:15 +000076\funcline{__or__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000077Return the bitwise or of \var{a} and \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000078\end{funcdesc}
79
Fred Drake98b032a1997-12-04 14:20:59 +000080\begin{funcdesc}{concat}{a, b}
Fred Drakec07ae9f1998-03-08 05:56:15 +000081\funcline{__concat__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000082Return \var{a} \code{+} \var{b} for \var{a} and \var{b} sequences.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000083\end{funcdesc}
84
Fred Drake98b032a1997-12-04 14:20:59 +000085\begin{funcdesc}{repeat}{a, b}
Fred Drakec07ae9f1998-03-08 05:56:15 +000086\funcline{__repeat__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000087Return \var{a} \code{*} \var{b} where \var{a} is a sequence and
88\var{b} is an integer.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000089\end{funcdesc}
90
Fred Drake98b032a1997-12-04 14:20:59 +000091\begin{funcdesc}{getitem}{a, b}
Fred Drakec07ae9f1998-03-08 05:56:15 +000092\funcline{__getitem__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000093Return the value of \var{a} at index \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000094\end{funcdesc}
95
Fred Drake98b032a1997-12-04 14:20:59 +000096\begin{funcdesc}{setitem}{a, b, c}
Fred Drakec07ae9f1998-03-08 05:56:15 +000097\funcline{__setitem__}{a, b, c}
Fred Drake0514ce11997-12-16 14:29:48 +000098Set the value of \var{a} at index \var{b} to \var{c}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000099\end{funcdesc}
100
Fred Drake98b032a1997-12-04 14:20:59 +0000101\begin{funcdesc}{delitem}{a, b}
Fred Drakec07ae9f1998-03-08 05:56:15 +0000102\funcline{__delitem__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000103Remove the value of \var{a} at index \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000104\end{funcdesc}
105
Fred Drake98b032a1997-12-04 14:20:59 +0000106\begin{funcdesc}{getslice}{a, b, c}
Fred Drakec07ae9f1998-03-08 05:56:15 +0000107\funcline{__getslice__}{a, b, c}
Fred Drake0514ce11997-12-16 14:29:48 +0000108Return the slice of \var{a} from index \var{b} to index \var{c}\code{-1}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000109\end{funcdesc}
110
Fred Drake98b032a1997-12-04 14:20:59 +0000111\begin{funcdesc}{setslice}{a, b, c, v}
Fred Drakec07ae9f1998-03-08 05:56:15 +0000112\funcline{__setslice__}{a, b, c, v}
Fred Drake0514ce11997-12-16 14:29:48 +0000113Set the slice of \var{a} from index \var{b} to index \var{c}\code{-1} to the
114sequence \var{v}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000115\end{funcdesc}
116
Fred Drake98b032a1997-12-04 14:20:59 +0000117\begin{funcdesc}{delslice}{a, b, c}
Fred Drakec07ae9f1998-03-08 05:56:15 +0000118\funcline{__delslice__}{a, b, c}
Fred Drake0514ce11997-12-16 14:29:48 +0000119Delete the slice of \var{a} from index \var{b} to index \var{c}\code{-1}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000120\end{funcdesc}
121
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000122
Fred Drake0514ce11997-12-16 14:29:48 +0000123Example: Build a dictionary that maps the ordinals from \code{0} to
124\code{256} to their character equivalents.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000125
Fred Drake19479911998-02-13 06:58:54 +0000126\begin{verbatim}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000127>>> import operator
128>>> d = {}
129>>> keys = range(256)
130>>> vals = map(chr, keys)
131>>> map(operator.setitem, [d]*len(keys), keys, vals)
Fred Drake19479911998-02-13 06:58:54 +0000132\end{verbatim}