blob: d4b7ca925d7d1b8f81b7fda3b0938c716bad9137 [file] [log] [blame]
Guido van Rossum61ed4db1996-12-06 21:22:41 +00001% Contributed by Skip Montanaro, from the module's doc strings.
2
Fred Drake0514ce11997-12-16 14:29:48 +00003\section{Built-in Module \sectcode{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
7The \code{operator} module exports a set of functions implemented in C
8corresponding 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
13The \code{operator} module defines the following functions:
14
Fred Drake19479911998-02-13 06:58:54 +000015\setindexsubitem{(in module operator)}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000016
Fred Drake98b032a1997-12-04 14:20:59 +000017\begin{funcdesc}{add}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000018Return \var{a} \code{+} \var{b}, for \var{a} and \var{b} numbers.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000019\end{funcdesc}
20
Fred Drake98b032a1997-12-04 14:20:59 +000021\begin{funcdesc}{__add__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000022Return \var{a} \code{+} \var{b}, for \var{a} and \var{b} numbers.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000023\end{funcdesc}
24
Fred Drake98b032a1997-12-04 14:20:59 +000025\begin{funcdesc}{sub}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000026Return \var{a} \code{-} \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000027\end{funcdesc}
28
Fred Drake98b032a1997-12-04 14:20:59 +000029\begin{funcdesc}{__sub__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000030Return \var{a} \code{-} \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000031\end{funcdesc}
32
Fred Drake98b032a1997-12-04 14:20:59 +000033\begin{funcdesc}{mul}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000034Return \var{a} \code{*} \var{b}, for \var{a} and \var{b} numbers.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000035\end{funcdesc}
36
Fred Drake98b032a1997-12-04 14:20:59 +000037\begin{funcdesc}{__mul__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000038Return \var{a} \code{*} \var{b}, for \var{a} and \var{b} numbers.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000039\end{funcdesc}
40
Fred Drake98b032a1997-12-04 14:20:59 +000041\begin{funcdesc}{div}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000042Return \var{a} \code{/} \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000043\end{funcdesc}
44
Fred Drake98b032a1997-12-04 14:20:59 +000045\begin{funcdesc}{__div__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000046Return \var{a} \code{/} \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000047\end{funcdesc}
48
Fred Drake98b032a1997-12-04 14:20:59 +000049\begin{funcdesc}{mod}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000050Return \var{a} \code{\%} \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000051\end{funcdesc}
52
Fred Drake98b032a1997-12-04 14:20:59 +000053\begin{funcdesc}{__mod__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000054Return \var{a} \code{\%} \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000055\end{funcdesc}
56
57\begin{funcdesc}{neg}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000058Return \var{o} negated.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000059\end{funcdesc}
60
Fred Drake98b032a1997-12-04 14:20:59 +000061\begin{funcdesc}{__neg__}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000062Return \var{o} negated.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000063\end{funcdesc}
64
65\begin{funcdesc}{pos}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000066Return \var{o} positive.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000067\end{funcdesc}
68
Fred Drake98b032a1997-12-04 14:20:59 +000069\begin{funcdesc}{__pos__}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000070Return \var{o} positive.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000071\end{funcdesc}
72
73\begin{funcdesc}{abs}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000074Return the absolute value of \var{o}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000075\end{funcdesc}
76
Fred Drake98b032a1997-12-04 14:20:59 +000077\begin{funcdesc}{__abs__}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000078Return the absolute value of \var{o}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000079\end{funcdesc}
80
81\begin{funcdesc}{inv}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000082Return the inverse of \var{o}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000083\end{funcdesc}
84
Fred Drake98b032a1997-12-04 14:20:59 +000085\begin{funcdesc}{__inv__}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000086Return the inverse of \var{o}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000087\end{funcdesc}
88
Fred Drake98b032a1997-12-04 14:20:59 +000089\begin{funcdesc}{lshift}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000090Return \var{a} shifted left by \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000091\end{funcdesc}
92
Fred Drake98b032a1997-12-04 14:20:59 +000093\begin{funcdesc}{__lshift__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000094Return \var{a} shifted left by \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000095\end{funcdesc}
96
Fred Drake98b032a1997-12-04 14:20:59 +000097\begin{funcdesc}{rshift}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000098Return \var{a} shifted right by \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000099\end{funcdesc}
100
Fred Drake98b032a1997-12-04 14:20:59 +0000101\begin{funcdesc}{__rshift__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000102Return \var{a} shifted right by \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000103\end{funcdesc}
104
Fred Drake98b032a1997-12-04 14:20:59 +0000105\begin{funcdesc}{and_}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000106Return the bitwise and of \var{a} and \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000107\end{funcdesc}
108
Fred Drake98b032a1997-12-04 14:20:59 +0000109\begin{funcdesc}{__and__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000110Return the bitwise and of \var{a} and \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000111\end{funcdesc}
112
Fred Drake98b032a1997-12-04 14:20:59 +0000113\begin{funcdesc}{or_}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000114Return the bitwise or of \var{a} and \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000115\end{funcdesc}
116
Fred Drake98b032a1997-12-04 14:20:59 +0000117\begin{funcdesc}{__or__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000118Return the bitwise or of \var{a} and \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000119\end{funcdesc}
120
Fred Drake98b032a1997-12-04 14:20:59 +0000121\begin{funcdesc}{concat}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000122Return \var{a} \code{+} \var{b} for \var{a} and \var{b} sequences.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000123\end{funcdesc}
124
Fred Drake98b032a1997-12-04 14:20:59 +0000125\begin{funcdesc}{__concat__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000126Return \var{a} \code{+} \var{b} for \var{a} and \var{b} sequences.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000127\end{funcdesc}
128
Fred Drake98b032a1997-12-04 14:20:59 +0000129\begin{funcdesc}{repeat}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000130Return \var{a} \code{*} \var{b} where \var{a} is a sequence and
131\var{b} is an integer.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000132\end{funcdesc}
133
Fred Drake98b032a1997-12-04 14:20:59 +0000134\begin{funcdesc}{__repeat__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000135Return \var{a} \code{*} \var{b} where \var{a} is a sequence and
136\var{b} is an integer.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000137\end{funcdesc}
138
Fred Drake98b032a1997-12-04 14:20:59 +0000139\begin{funcdesc}{getitem}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000140Return the value of \var{a} at index \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000141\end{funcdesc}
142
Fred Drake98b032a1997-12-04 14:20:59 +0000143\begin{funcdesc}{__getitem__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000144Return the value of \var{a} at index \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000145\end{funcdesc}
146
Fred Drake98b032a1997-12-04 14:20:59 +0000147\begin{funcdesc}{setitem}{a, b, c}
Fred Drake0514ce11997-12-16 14:29:48 +0000148Set the value of \var{a} at index \var{b} to \var{c}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000149\end{funcdesc}
150
Fred Drake98b032a1997-12-04 14:20:59 +0000151\begin{funcdesc}{__setitem__}{a, b, c}
Fred Drake0514ce11997-12-16 14:29:48 +0000152Set the value of \var{a} at index \var{b} to \var{c}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000153\end{funcdesc}
154
Fred Drake98b032a1997-12-04 14:20:59 +0000155\begin{funcdesc}{delitem}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000156Remove the value of \var{a} at index \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000157\end{funcdesc}
158
Fred Drake98b032a1997-12-04 14:20:59 +0000159\begin{funcdesc}{__delitem__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000160Remove the value of \var{a} at index \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000161\end{funcdesc}
162
Fred Drake98b032a1997-12-04 14:20:59 +0000163\begin{funcdesc}{getslice}{a, b, c}
Fred Drake0514ce11997-12-16 14:29:48 +0000164Return the slice of \var{a} from index \var{b} to index \var{c}\code{-1}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000165\end{funcdesc}
166
Fred Drake98b032a1997-12-04 14:20:59 +0000167\begin{funcdesc}{__getslice__}{a, b, c}
Fred Drake0514ce11997-12-16 14:29:48 +0000168Return the slice of \var{a} from index \var{b} to index \var{c}\code{-1}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000169\end{funcdesc}
170
Fred Drake98b032a1997-12-04 14:20:59 +0000171\begin{funcdesc}{setslice}{a, b, c, v}
Fred Drake0514ce11997-12-16 14:29:48 +0000172Set the slice of \var{a} from index \var{b} to index \var{c}\code{-1} to the
173sequence \var{v}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000174\end{funcdesc}
175
Fred Drake98b032a1997-12-04 14:20:59 +0000176\begin{funcdesc}{__setslice__}{a, b, c, v}
Fred Drake0514ce11997-12-16 14:29:48 +0000177Set the slice of \var{a} from index \var{b} to index \var{c}\code{-1} to the
178sequence \var{v}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000179\end{funcdesc}
180
Fred Drake98b032a1997-12-04 14:20:59 +0000181\begin{funcdesc}{delslice}{a, b, c}
Fred Drake0514ce11997-12-16 14:29:48 +0000182Delete the slice of \var{a} from index \var{b} to index \var{c}\code{-1}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000183\end{funcdesc}
184
Fred Drake98b032a1997-12-04 14:20:59 +0000185\begin{funcdesc}{__delslice__}{a, b, c}
Fred Drake0514ce11997-12-16 14:29:48 +0000186Delete the slice of \var{a} from index \var{b} to index \var{c}\code{-1}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000187\end{funcdesc}
188
Fred Drake0514ce11997-12-16 14:29:48 +0000189Example: Build a dictionary that maps the ordinals from \code{0} to
190\code{256} to their character equivalents.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000191
Fred Drake19479911998-02-13 06:58:54 +0000192\begin{verbatim}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000193>>> import operator
194>>> d = {}
195>>> keys = range(256)
196>>> vals = map(chr, keys)
197>>> map(operator.setitem, [d]*len(keys), keys, vals)
Fred Drake19479911998-02-13 06:58:54 +0000198\end{verbatim}