On 2017-11-07, Stefan Ram <[email protected]> wrote:
> Chris Angelico <[email protected]> writes:
>>sure what your point is. None, False, and True are all keywords, not
>>built-ins, so you can't assign to them (any more than you could assign
>>to a literal integer).
>
>|Python 2.6.6 (r266:84297, Aug 24 2010, 18:13:38) [MSC v.1500 64 bit (AMD64)]
>on win32
>|Type "help", "copyright", "credits" or "license" for more information.
>|>>>
>|>>> import ctypes
>|>>>
>|>>> value = 2
>|>>> ob_ival_offset = ctypes.sizeof(ctypes.c_size_t) +
>ctypes.sizeof(ctypes.c_voidp)
>|>>> ob_ival = ctypes.c_int.from_address(id(value)+ob_ival_offset)
>|>>> ob_ival.value = 3
>|>>>
>|>>> print 2
>|3
I vaguely remember being able to do that in some implementations of
FORTRAN yonks ago:
subroutine foo(i)
i = 3
end subroutine func
[...]
foo(2)
write(*,*) 2
output would be:
3
--
Grant Edwards grant.b.edwards Yow! If I pull this SWITCH
at I'll be RITA HAYWORTH!!
gmail.com Or a SCIENTOLOGIST!
--
https://mail.python.org/mailman/listinfo/python-list