blob: 238a060e9345f5120b051602c90f58ce1cd96f67 [file] [log] [blame]
Guido van Rossum61ed4db1996-12-06 21:22:41 +00001% Contributed by Skip Montanaro, from the module's doc strings.
2
3\section{Built-in Module \sectcode{operator}} % If implemented in C
4\bimodindex{spam}
5
6The \code{operator} module exports a set of functions implemented in C
7corresponding to the intrinsic operators of Python. For example,
8{}\code{operator.add(x, y)} is equivalent to the expression x+y. The
9function 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}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000017Return a + b, for a and b numbers.
18\end{funcdesc}
19
Fred Drake98b032a1997-12-04 14:20:59 +000020\begin{funcdesc}{__add__}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000021Return a + b, for a and b numbers.
22\end{funcdesc}
23
Fred Drake98b032a1997-12-04 14:20:59 +000024\begin{funcdesc}{sub}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000025Return a - b.
26\end{funcdesc}
27
Fred Drake98b032a1997-12-04 14:20:59 +000028\begin{funcdesc}{__sub__}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000029Return a - b.
30\end{funcdesc}
31
Fred Drake98b032a1997-12-04 14:20:59 +000032\begin{funcdesc}{mul}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000033Return a * b, for a and b numbers.
34\end{funcdesc}
35
Fred Drake98b032a1997-12-04 14:20:59 +000036\begin{funcdesc}{__mul__}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000037Return a * b, for a and b numbers.
38\end{funcdesc}
39
Fred Drake98b032a1997-12-04 14:20:59 +000040\begin{funcdesc}{div}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000041Return a / b.
42\end{funcdesc}
43
Fred Drake98b032a1997-12-04 14:20:59 +000044\begin{funcdesc}{__div__}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000045Return a / b.
46\end{funcdesc}
47
Fred Drake98b032a1997-12-04 14:20:59 +000048\begin{funcdesc}{mod}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000049Return a \% b.
50\end{funcdesc}
51
Fred Drake98b032a1997-12-04 14:20:59 +000052\begin{funcdesc}{__mod__}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000053Return a \% b.
54\end{funcdesc}
55
56\begin{funcdesc}{neg}{o}
57Return o negated.
58\end{funcdesc}
59
Fred Drake98b032a1997-12-04 14:20:59 +000060\begin{funcdesc}{__neg__}{o}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000061Return o negated.
62\end{funcdesc}
63
64\begin{funcdesc}{pos}{o}
65Return o positive.
66\end{funcdesc}
67
Fred Drake98b032a1997-12-04 14:20:59 +000068\begin{funcdesc}{__pos__}{o}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000069Return o positive.
70\end{funcdesc}
71
72\begin{funcdesc}{abs}{o}
73Return the absolute value of o.
74\end{funcdesc}
75
Fred Drake98b032a1997-12-04 14:20:59 +000076\begin{funcdesc}{__abs__}{o}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000077Return the absolute value of o.
78\end{funcdesc}
79
80\begin{funcdesc}{inv}{o}
81Return the inverse of o.
82\end{funcdesc}
83
Fred Drake98b032a1997-12-04 14:20:59 +000084\begin{funcdesc}{__inv__}{o}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000085Return the inverse of o.
86\end{funcdesc}
87
Fred Drake98b032a1997-12-04 14:20:59 +000088\begin{funcdesc}{lshift}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000089Return a shifted left by b.
90\end{funcdesc}
91
Fred Drake98b032a1997-12-04 14:20:59 +000092\begin{funcdesc}{__lshift__}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000093Return a shifted left by b.
94\end{funcdesc}
95
Fred Drake98b032a1997-12-04 14:20:59 +000096\begin{funcdesc}{rshift}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000097Return a shifted right by b.
98\end{funcdesc}
99
Fred Drake98b032a1997-12-04 14:20:59 +0000100\begin{funcdesc}{__rshift__}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000101Return a shifted right by b.
102\end{funcdesc}
103
Fred Drake98b032a1997-12-04 14:20:59 +0000104\begin{funcdesc}{and_}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000105Return the bitwise and of a and b.
106\end{funcdesc}
107
Fred Drake98b032a1997-12-04 14:20:59 +0000108\begin{funcdesc}{__and__}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000109Return the bitwise and of a and b.
110\end{funcdesc}
111
Fred Drake98b032a1997-12-04 14:20:59 +0000112\begin{funcdesc}{or_}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000113Return the bitwise or of a and b.
114\end{funcdesc}
115
Fred Drake98b032a1997-12-04 14:20:59 +0000116\begin{funcdesc}{__or__}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000117Return the bitwise or of a and b.
118\end{funcdesc}
119
Fred Drake98b032a1997-12-04 14:20:59 +0000120\begin{funcdesc}{concat}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000121Return a + b for a and b sequences.
122\end{funcdesc}
123
Fred Drake98b032a1997-12-04 14:20:59 +0000124\begin{funcdesc}{__concat__}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000125Return a + b for a and b sequences.
126\end{funcdesc}
127
Fred Drake98b032a1997-12-04 14:20:59 +0000128\begin{funcdesc}{repeat}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000129Return a * b where a is a sequence and b is an integer.
130\end{funcdesc}
131
Fred Drake98b032a1997-12-04 14:20:59 +0000132\begin{funcdesc}{__repeat__}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000133Return a * b where a is a sequence and b is an integer.
134\end{funcdesc}
135
Fred Drake98b032a1997-12-04 14:20:59 +0000136\begin{funcdesc}{getitem}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000137Return the value of a at index b.
138\end{funcdesc}
139
Fred Drake98b032a1997-12-04 14:20:59 +0000140\begin{funcdesc}{__getitem__}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000141Return the value of a at index b.
142\end{funcdesc}
143
Fred Drake98b032a1997-12-04 14:20:59 +0000144\begin{funcdesc}{setitem}{a, b, c}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000145Set the value of a at index b to c.
146\end{funcdesc}
147
Fred Drake98b032a1997-12-04 14:20:59 +0000148\begin{funcdesc}{__setitem__}{a, b, c}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000149Set the value of a at index b to c.
150\end{funcdesc}
151
Fred Drake98b032a1997-12-04 14:20:59 +0000152\begin{funcdesc}{delitem}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000153Set the value of a at index b.
154\end{funcdesc}
155
Fred Drake98b032a1997-12-04 14:20:59 +0000156\begin{funcdesc}{__delitem__}{a, b}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000157Set the value of a at index b.
158\end{funcdesc}
159
Fred Drake98b032a1997-12-04 14:20:59 +0000160\begin{funcdesc}{getslice}{a, b, c}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000161Return the slice of a from index b to index c-1.
162\end{funcdesc}
163
Fred Drake98b032a1997-12-04 14:20:59 +0000164\begin{funcdesc}{__getslice__}{a, b, c}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000165Return the slice of a from index b to index c-1.
166\end{funcdesc}
167
Fred Drake98b032a1997-12-04 14:20:59 +0000168\begin{funcdesc}{setslice}{a, b, c, v}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000169Set the slice of a from index b to index c-1 to the sequence v.
170\end{funcdesc}
171
Fred Drake98b032a1997-12-04 14:20:59 +0000172\begin{funcdesc}{__setslice__}{a, b, c, v}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000173Set the slice of a from index b to index c-1 to the sequence v.
174\end{funcdesc}
175
Fred Drake98b032a1997-12-04 14:20:59 +0000176\begin{funcdesc}{delslice}{a, b, c}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000177Delete the slice of a from index b to index c-1.
178\end{funcdesc}
179
Fred Drake98b032a1997-12-04 14:20:59 +0000180\begin{funcdesc}{__delslice__}{a, b, c}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000181Delete the slice of a from index b to index c-1.
182\end{funcdesc}
183
184Example: Build a dictionary that maps the ordinals from 0 to 256 to their
185character equivalents.
186
Guido van Rossume47da0a1997-07-17 16:34:52 +0000187\bcode\begin{verbatim}
Guido van Rossum61ed4db1996-12-06 21:22:41 +0000188>>> import operator
189>>> d = {}
190>>> keys = range(256)
191>>> vals = map(chr, keys)
192>>> map(operator.setitem, [d]*len(keys), keys, vals)
Guido van Rossume47da0a1997-07-17 16:34:52 +0000193\end{verbatim}\ecode