Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #24888
| Date | 2012-07-04 19:39 -0500 |
|---|---|
| From | Evan Driscoll <driscoll@cs.wisc.edu> |
| Subject | Re: 2 + 2 = 5 |
| References | <7x7guj2u8a.fsf@ruckus.brouhaha.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.1804.1341448814.4697.python-list@python.org> (permalink) |
[Multipart message — attachments visible in raw view] - view raw
On 7/4/2012 14:37, Paul Rubin wrote: > I just came across this (https://gist.github.com/1208215): > > import sys > import ctypes > pyint_p = ctypes.POINTER(ctypes.c_byte*sys.getsizeof(5)) > five = ctypes.cast(id(5), pyint_p) > print(2 + 2 == 5) # False > five.contents[five.contents[:].index(5)] = 4 > print(2 + 2 == 5) # True (must be sufficiently large values of 2 there...) > > Heh. The author is apparently anonymous, I guess for good reason. Probably just nostalgic for old Fortran, which, supposedly, allowed you to change the values of literals by passing them to a function by reference and then modifying the value. Evan
Back to comp.lang.python | Previous | Next | Find similar | Unroll thread
Re: 2 + 2 = 5 Evan Driscoll <driscoll@cs.wisc.edu> - 2012-07-04 19:39 -0500
csiph-web