blob: 190faab6a1c7f1f96a5cb5211c9b5b3d198f1ef3 [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 Drake3aa28951997-12-16 00:02:01 +00004\bimodindex{operator}
Guido van Rossum61ed4db1996-12-06 21:22:41 +00005
6The \code{operator} module exports a set of functions implemented in C
7corresponding to the intrinsic operators of Python. For example,
Fred Drakef3e6df11997-12-29 17:11:55 +00008\code{operator.add(x, y)} is equivalent to the expression \code{x+y}. The
Guido van Rossum61ed4db1996-12-06 21:22:41 +00009function names are those used for special class methods; variants without
Fred Drake98b032a1997-12-04 14:20:59 +000010leading and trailing \samp{__} are also provided for convenience.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000011
12The \code{operator} module defines the following functions:
13
14\renewcommand{\indexsubitem}{(in module operator)}
15
Fred Drake98b032a1997-12-04 14:20:59 +000016\begin{funcdesc}{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}{__add__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000021Return \var{a} \code{+} \var{b}, for \var{a} and \var{b} numbers.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000022\end{funcdesc}
23
Fred Drake98b032a1997-12-04 14:20:59 +000024\begin{funcdesc}{sub}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000025Return \var{a} \code{-} \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000026\end{funcdesc}
27
Fred Drake98b032a1997-12-04 14:20:59 +000028\begin{funcdesc}{__sub__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000029Return \var{a} \code{-} \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000030\end{funcdesc}
31
Fred Drake98b032a1997-12-04 14:20:59 +000032\begin{funcdesc}{mul}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000033Return \var{a} \code{*} \var{b}, for \var{a} and \var{b} numbers.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000034\end{funcdesc}
35
Fred Drake98b032a1997-12-04 14:20:59 +000036\begin{funcdesc}{__mul__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000037Return \var{a} \code{*} \var{b}, for \var{a} and \var{b} numbers.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000038\end{funcdesc}
39
Fred Drake98b032a1997-12-04 14:20:59 +000040\begin{funcdesc}{div}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000041Return \var{a} \code{/} \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000042\end{funcdesc}
43
Fred Drake98b032a1997-12-04 14:20:59 +000044\begin{funcdesc}{__div__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000045Return \var{a} \code{/} \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000046\end{funcdesc}
47
Fred Drake98b032a1997-12-04 14:20:59 +000048\begin{funcdesc}{mod}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000049Return \var{a} \code{\%} \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000050\end{funcdesc}
51
Fred Drake98b032a1997-12-04 14:20:59 +000052\begin{funcdesc}{__mod__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000053Return \var{a} \code{\%} \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000054\end{funcdesc}
55
56\begin{funcdesc}{neg}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000057Return \var{o} negated.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000058\end{funcdesc}
59
Fred Drake98b032a1997-12-04 14:20:59 +000060\begin{funcdesc}{__neg__}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000061Return \var{o} negated.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000062\end{funcdesc}
63
64\begin{funcdesc}{pos}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000065Return \var{o} positive.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000066\end{funcdesc}
67
Fred Drake98b032a1997-12-04 14:20:59 +000068\begin{funcdesc}{__pos__}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000069Return \var{o} positive.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000070\end{funcdesc}
71
72\begin{funcdesc}{abs}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000073Return the absolute value of \var{o}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000074\end{funcdesc}
75
Fred Drake98b032a1997-12-04 14:20:59 +000076\begin{funcdesc}{__abs__}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000077Return the absolute value of \var{o}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000078\end{funcdesc}
79
80\begin{funcdesc}{inv}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000081Return the inverse of \var{o}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000082\end{funcdesc}
83
Fred Drake98b032a1997-12-04 14:20:59 +000084\begin{funcdesc}{__inv__}{o}
Fred Drake0514ce11997-12-16 14:29:48 +000085Return the inverse of \var{o}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000086\end{funcdesc}
87
Fred Drake98b032a1997-12-04 14:20:59 +000088\begin{funcdesc}{lshift}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000089Return \var{a} shifted left by \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000090\end{funcdesc}
91
Fred Drake98b032a1997-12-04 14:20:59 +000092\begin{funcdesc}{__lshift__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000093Return \var{a} shifted left by \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000094\end{funcdesc}
95
Fred Drake98b032a1997-12-04 14:20:59 +000096\begin{funcdesc}{rshift}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +000097Return \var{a} shifted right by \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +000098\end{funcdesc}
99
Fred Drake98b032a1997-12-04 14:20:59 +0000100\begin{funcdesc}{__rshift__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000101Return \var{a} shifted right by \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000102\end{funcdesc}
103
Fred Drake98b032a1997-12-04 14:20:59 +0000104\begin{funcdesc}{and_}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000105Return the bitwise and of \var{a} and \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000106\end{funcdesc}
107
Fred Drake98b032a1997-12-04 14:20:59 +0000108\begin{funcdesc}{__and__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000109Return the bitwise and of \var{a} and \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000110\end{funcdesc}
111
Fred Drake98b032a1997-12-04 14:20:59 +0000112\begin{funcdesc}{or_}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000113Return the bitwise or of \var{a} and \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000114\end{funcdesc}
115
Fred Drake98b032a1997-12-04 14:20:59 +0000116\begin{funcdesc}{__or__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000117Return the bitwise or of \var{a} and \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000118\end{funcdesc}
119
Fred Drake98b032a1997-12-04 14:20:59 +0000120\begin{funcdesc}{concat}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000121Return \var{a} \code{+} \var{b} for \var{a} and \var{b} sequences.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000122\end{funcdesc}
123
Fred Drake98b032a1997-12-04 14:20:59 +0000124\begin{funcdesc}{__concat__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000125Return \var{a} \code{+} \var{b} for \var{a} and \var{b} sequences.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000126\end{funcdesc}
127
Fred Drake98b032a1997-12-04 14:20:59 +0000128\begin{funcdesc}{repeat}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000129Return \var{a} \code{*} \var{b} where \var{a} is a sequence and
130\var{b} is an integer.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000131\end{funcdesc}
132
Fred Drake98b032a1997-12-04 14:20:59 +0000133\begin{funcdesc}{__repeat__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000134Return \var{a} \code{*} \var{b} where \var{a} is a sequence and
135\var{b} is an integer.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000136\end{funcdesc}
137
Fred Drake98b032a1997-12-04 14:20:59 +0000138\begin{funcdesc}{getitem}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000139Return the value of \var{a} at index \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000140\end{funcdesc}
141
Fred Drake98b032a1997-12-04 14:20:59 +0000142\begin{funcdesc}{__getitem__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000143Return the value of \var{a} at index \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000144\end{funcdesc}
145
Fred Drake98b032a1997-12-04 14:20:59 +0000146\begin{funcdesc}{setitem}{a, b, c}
Fred Drake0514ce11997-12-16 14:29:48 +0000147Set the value of \var{a} at index \var{b} to \var{c}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000148\end{funcdesc}
149
Fred Drake98b032a1997-12-04 14:20:59 +0000150\begin{funcdesc}{__setitem__}{a, b, c}
Fred Drake0514ce11997-12-16 14:29:48 +0000151Set the value of \var{a} at index \var{b} to \var{c}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000152\end{funcdesc}
153
Fred Drake98b032a1997-12-04 14:20:59 +0000154\begin{funcdesc}{delitem}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000155Remove the value of \var{a} at index \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000156\end{funcdesc}
157
Fred Drake98b032a1997-12-04 14:20:59 +0000158\begin{funcdesc}{__delitem__}{a, b}
Fred Drake0514ce11997-12-16 14:29:48 +0000159Remove the value of \var{a} at index \var{b}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000160\end{funcdesc}
161
Fred Drake98b032a1997-12-04 14:20:59 +0000162\begin{funcdesc}{getslice}{a, b, c}
Fred Drake0514ce11997-12-16 14:29:48 +0000163Return the slice of \var{a} from index \var{b} to index \var{c}\code{-1}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000164\end{funcdesc}
165
Fred Drake98b032a1997-12-04 14:20:59 +0000166\begin{funcdesc}{__getslice__}{a, b, c}
Fred Drake0514ce11997-12-16 14:29:48 +0000167Return the slice of \var{a} from index \var{b} to index \var{c}\code{-1}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000168\end{funcdesc}
169
Fred Drake98b032a1997-12-04 14:20:59 +0000170\begin{funcdesc}{setslice}{a, b, c, v}
Fred Drake0514ce11997-12-16 14:29:48 +0000171Set the slice of \var{a} from index \var{b} to index \var{c}\code{-1} to the
172sequence \var{v}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000173\end{funcdesc}
174
Fred Drake98b032a1997-12-04 14:20:59 +0000175\begin{funcdesc}{__setslice__}{a, b, c, v}
Fred Drake0514ce11997-12-16 14:29:48 +0000176Set the slice of \var{a} from index \var{b} to index \var{c}\code{-1} to the
177sequence \var{v}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000178\end{funcdesc}
179
Fred Drake98b032a1997-12-04 14:20:59 +0000180\begin{funcdesc}{delslice}{a, b, c}
Fred Drake0514ce11997-12-16 14:29:48 +0000181Delete the slice of \var{a} from index \var{b} to index \var{c}\code{-1}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000182\end{funcdesc}
183
Fred Drake98b032a1997-12-04 14:20:59 +0000184\begin{funcdesc}{__delslice__}{a, b, c}
Fred Drake0514ce11997-12-16 14:29:48 +0000185Delete the slice of \var{a} from index \var{b} to index \var{c}\code{-1}.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000186\end{funcdesc}
187
Fred Drake0514ce11997-12-16 14:29:48 +0000188Example: Build a dictionary that maps the ordinals from \code{0} to
189\code{256} to their character equivalents.
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000190
Guido van Rossume47da0a1997-07-17 16:34:52 +0000191\bcode\begin{verbatim}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000192>>> import operator
193>>> d = {}
194>>> keys = range(256)
195>>> vals = map(chr, keys)
196>>> map(operator.setitem, [d]*len(keys), keys, vals)
Guido van Rossume47da0a1997-07-17 16:34:52 +0000197\end{verbatim}\ecode