representable as a Python integer, possibly embedded in whitespace;
this behaves identical to \code{string.atoi(\var{x}\optional{,
\var{radix}})}. The \var{radix} parameter gives the base for the
- conversion and may be any integer in the range [2, 36]. If
- \var{radix} is specified and \var{x} is not a string,
+ conversion and may be any integer in the range [2, 36], or zero. If
+ \var{radix} is zero, the proper radix is guessed based on the
+ contents of string; the interpretation is the same as for integer
+ literals. If \var{radix} is specified and \var{x} is not a string,
\exception{TypeError} is raised.
Otherwise, the argument may be a plain or
long integer or a floating point number. Conversion of floating
the interpreter.
\end{funcdesc}
-\begin{funcdesc}{long}{x}
+\begin{funcdesc}{long}{x\optional{, radix}}
Convert a string or number to a long integer. If the argument is a
string, it must contain a possibly signed decimal number of
arbitrary size, possibly embedded in whitespace;
- this behaves identical to \code{string.atol(\var{x})}.
+ this behaves identical to \code{string.atol(\var{x})}. The
+ \var{radix} argument is interpreted in the same way as for
+ \function{int()}, and may only be given when \var{x} is a string.
Otherwise, the argument may be a plain or
long integer or a floating point number, and a long integer with
the same value is returned. Conversion of floating
required by the format string; if the string requires a single
argument, the right argument may also be a single non-tuple
object.\footnote{A tuple object in this case should be a singleton.
-} The following format characters are understood:
-\code{\%}, \code{c}, \code{s}, \code{i}, \code{d}, \code{u}, \code{o},
-\code{x}, \code{X}, \code{e}, \code{E}, \code{f}, \code{g}, \code{G}.
+} The following format characters are understood: \code{\%},
+\code{c}, \code{r}, \code{s}, \code{i}, \code{d}, \code{u}, \code{o},
+\code{x}, \code{X}, \code{e}, \code{E}, \code{f}, \code{g}, \code{G}.
Width and precision may be a \code{*} to specify that an integer argument
specifies the actual width or precision. The flag characters
\code{-}, \code{+}, blank, \code{\#} and \code{0} are understood. The
size specifiers \code{h}, \code{l} or \code{L} may be present but are
ignored. The \code{\%s} conversion takes any Python object and
-converts it to a string using \code{str()} before formatting it. The
+converts it to a string using \code{str()} before formatting it; the
+\code{\%r} conversion is similar but applies the \function{repr()}
+function instead. The
ANSI features \code{\%p} and \code{\%n} are not supported. Since
Python strings have an explicit length, \code{\%s} conversions don't
assume that \code{'\e0'} is the end of the string.