mirror of
https://github.com/python/cpython.git
synced 2024-11-30 18:51:15 +01:00
e55702b024
only by the interpreter core and is not overridable by objects. Based on comment from David Ascher on the list.
165 lines
4.3 KiB
TeX
165 lines
4.3 KiB
TeX
\section{\module{operator} ---
|
|
Standard operators as functions.}
|
|
\declaremodule{builtin}{operator}
|
|
\sectionauthor{Skip Montanaro}{skip@automatrix.com}
|
|
|
|
\modulesynopsis{All Python's standard operators as built-in functions.}
|
|
|
|
|
|
The \module{operator} module exports a set of functions implemented in C
|
|
corresponding to the intrinsic operators of Python. For example,
|
|
\code{operator.add(x, y)} is equivalent to the expression \code{x+y}. The
|
|
function names are those used for special class methods; variants without
|
|
leading and trailing \samp{__} are also provided for convenience.
|
|
|
|
The \module{operator} module defines the following functions:
|
|
|
|
\begin{funcdesc}{add}{a, b}
|
|
\funcline{__add__}{a, b}
|
|
Return \var{a} \code{+} \var{b}, for \var{a} and \var{b} numbers.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{sub}{a, b}
|
|
\funcline{__sub__}{a, b}
|
|
Return \var{a} \code{-} \var{b}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{mul}{a, b}
|
|
\funcline{__mul__}{a, b}
|
|
Return \var{a} \code{*} \var{b}, for \var{a} and \var{b} numbers.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{div}{a, b}
|
|
\funcline{__div__}{a, b}
|
|
Return \var{a} \code{/} \var{b}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{mod}{a, b}
|
|
\funcline{__mod__}{a, b}
|
|
Return \var{a} \code{\%} \var{b}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{neg}{o}
|
|
\funcline{__neg__}{o}
|
|
Return \var{o} negated.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{pos}{o}
|
|
\funcline{__pos__}{o}
|
|
Return \var{o} positive.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{abs}{o}
|
|
\funcline{__abs__}{o}
|
|
Return the absolute value of \var{o}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{inv}{o}
|
|
\funcline{__inv__}{o}
|
|
Return the inverse of \var{o}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{lshift}{a, b}
|
|
\funcline{__lshift__}{a, b}
|
|
Return \var{a} shifted left by \var{b}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{rshift}{a, b}
|
|
\funcline{__rshift__}{a, b}
|
|
Return \var{a} shifted right by \var{b}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{and_}{a, b}
|
|
\funcline{__and__}{a, b}
|
|
Return the bitwise and of \var{a} and \var{b}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{or_}{a, b}
|
|
\funcline{__or__}{a, b}
|
|
Return the bitwise or of \var{a} and \var{b}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{xor}{a, b}
|
|
\funcline{__xor__}{a, b}
|
|
Return the bitwise exclusive or of \var{a} and \var{b}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{not_}{o}
|
|
\funcline{__not__}{o}
|
|
Return the outcome of \keyword{not} \var{o}. (Note that there is no
|
|
\method{__not__()} discipline for object instances; only the
|
|
interpreter core defines this operation.)
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{truth}{o}
|
|
Return \code{1} if \var{o} is true, and 0 otherwise.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{concat}{a, b}
|
|
\funcline{__concat__}{a, b}
|
|
Return \var{a} \code{+} \var{b} for \var{a} and \var{b} sequences.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{repeat}{a, b}
|
|
\funcline{__repeat__}{a, b}
|
|
Return \var{a} \code{*} \var{b} where \var{a} is a sequence and
|
|
\var{b} is an integer.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{contains}{a, b}
|
|
\funcline{sequenceIncludes}{a, b}
|
|
Return the outcome of the test \var{b} \code{in} \var{a}.
|
|
Note the reversed operands.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{countOf}{a, b}
|
|
Return the number of occurrences of \var{b} in \var{a}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{indexOf}{a, b}
|
|
Return the index of the first of occurrence of \var{b} in \var{a}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{getitem}{a, b}
|
|
\funcline{__getitem__}{a, b}
|
|
Return the value of \var{a} at index \var{b}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{setitem}{a, b, c}
|
|
\funcline{__setitem__}{a, b, c}
|
|
Set the value of \var{a} at index \var{b} to \var{c}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{delitem}{a, b}
|
|
\funcline{__delitem__}{a, b}
|
|
Remove the value of \var{a} at index \var{b}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{getslice}{a, b, c}
|
|
\funcline{__getslice__}{a, b, c}
|
|
Return the slice of \var{a} from index \var{b} to index \var{c}\code{-1}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{setslice}{a, b, c, v}
|
|
\funcline{__setslice__}{a, b, c, v}
|
|
Set the slice of \var{a} from index \var{b} to index \var{c}\code{-1} to the
|
|
sequence \var{v}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{delslice}{a, b, c}
|
|
\funcline{__delslice__}{a, b, c}
|
|
Delete the slice of \var{a} from index \var{b} to index \var{c}\code{-1}.
|
|
\end{funcdesc}
|
|
|
|
|
|
Example: Build a dictionary that maps the ordinals from \code{0} to
|
|
\code{256} to their character equivalents.
|
|
|
|
\begin{verbatim}
|
|
>>> import operator
|
|
>>> d = {}
|
|
>>> keys = range(256)
|
|
>>> vals = map(chr, keys)
|
|
>>> map(operator.setitem, [d]*len(keys), keys, vals)
|
|
\end{verbatim}
|