Terry J. Reedy added the comment:

To me the doc strongly implies, but does not boldly and baldly say, that base 
should be an int.

"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 base 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. Base 0 means to interpret 
exactly as a code literal, so that the actual base is 2, 8, 10, or 16, and so 
that int('010', 0) is not legal, while int('010') is, as well as int('010', 8)."

I think it should be revised to say "The allowed values are ints 0 and 2-36." 
(or 'integers' or 'index values'). If it had been that already, the current 
behavior would clearly be a bug and eligible to be fixed in 3.2/3. As it is, I 
will not argue with whatever others do.

(I strongly suspect there are other places in the docs where int args are 
similarly implied but not explicit, but int-ness *is* checked. If someone were 
to complain about 0.0 being rejected, I expect we would correct the doc, not 
the code.;-)

----------
nosy: +terry.reedy

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue16772>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to