types.IntType
.
*pend
will point to
the first character in str which follows the representation of the
number. If base is 0
, the radix will be determined based on
the leading characters of str: if str starts with '0x'
or '0X'
, radix 16 will be used; if str starts with
'0'
, radix 8 will be used; otherwise radix 10 will be used. If
base is not 0
, it must be between 2
and 36
,
inclusive. Leading spaces are ignored. If there are no digits,
ValueError will be raised. If the string represents a number
too large to be contained within the machine's long int type and
overflow warnings are being suppressed, a PyLongObject will be
returned. If overflow warnings are not being suppressed, NULL will be
returned in this case.
The current implementation keeps an array of integer objects for all
integers between -1
and 100
, when you create an int in
that range you actually just get back a reference to the existing
object. So it should be possible to change the value of 1
. I
suspect the behaviour of Python in this case is undefined. :-)