Ideas about how software should behave
Grant Edwards
grant.b.edwards at gmail.com
Tue Nov 7 15:34:36 EST 2017
On 2017-11-07, Chris Angelico <rosuav at gmail.com> wrote:
> On Wed, Nov 8, 2017 at 6:44 AM, Stefan Ram <ram at zedat.fu-berlin.de> wrote:
>> Chris Angelico <rosuav at gmail.com> 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
>
> That's still not assigning to a literal; that's mutating a cached
> object. There's a difference :)
True.
> Also, once you start messing with ctypes like this, all language
> guarantees are out the window.
In FORTRAN, the only language gurantees were
1) When running your program, you'd almost, but not always, get all
of your cards back.
2) The probability (P) of finding an available IBM 29 cardpunch was
approximately D**2 where D is how many day's you had left before
your deadline: with one hour left, P = 1/(24*24).
--
Grant Edwards grant.b.edwards Yow! LOOK!! Sullen at American teens
wearing gmail.com MADRAS shorts and
"Flock of Seagulls" HAIRCUTS!
More information about the Python-list
mailing list