[New-bugs-announce] [issue2580] Revise builtin class int library manual entry
Terry J. Reedy
report at bugs.python.org
Tue Apr 8 04:26:15 CEST 2008
New submission from Terry J. Reedy <tjreedy at udel.edu>:
Based on c.l.p discussion with Mark Dickinson, who supplied details and
corrections, we propose the following for the int() entry at
int([number | string[, radix]])
Convert a number or string to an integer. If no arguments are given,
return 0. If a number is given, return number.__int__(). Conversion of
floating point numbers to integers truncates towards zero. A string
must be a base-radix integer literal optionally preceded by '+' or '-'
(with no space in between) and optionally surrounded by whitespace. A
base-n literal consists of the digits 0 to n-1, with 'a' to 'z' (or 'A'
to 'Z')having values 10 to 35. The default radix is 10. The allowed
values are 0 and 2-36. Base-2, -8, and -16 literals can be optionally
prefixed with 0b/0B, 0o/0O, or 0x/0X, as with integer literals in code.
Radix 0 means to interpret exactly as a code literal, so that the
actual radix is 2, 8, 10, or 16, and so that int('010',0) is not legal,
while int('010') is.
The revised signature makes it clear from the start that *radix* can
only follow *string*, so no sentence to that effect is needed in the
text. The other changes are to discuss the signature in order and to
add details. We believe the above accurately reflects the
intended/actual behavior once the no-space-after-sign patch is applied.
(I don't know if that made it into .0a4).
Some of this might apply to the 2.6 docs, except that the no-space patch
will apparently not be backported. I believe the acceptable strings are
a bit different also, at least for octals, but I am not sure.
nosy: georg.brandl, tjreedy
title: Revise builtin class int library manual entry
versions: Python 3.0
Tracker <report at bugs.python.org>
More information about the New-bugs-announce