Citation:
PyObject* PyLong_FromLong(long v)
Return value: New reference.
Return a new PyLongObject object from v, or NULL on failure.
The current implementation keeps an array of integer objects for all integers between -5 and 256, 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. :-)
L'idée étant d'éviter de créer trop d'objets dans ces cas très usités, histoire d'économiser de la mémoire, sachant que ces objets là sont "immutables".