[Python-Dev] issue5578 - explanation
R. David Murray
rdmurray at bitdance.com
Wed Apr 1 17:00:06 CEST 2009
On Wed, 1 Apr 2009 at 13:12, Chris Withers wrote:
> Guido van Rossum wrote:
>> Well hold on for a minute, I remember we used to have an exec
>> statement in a class body in the standard library, to define some file
>> methods in socket.py IIRC.
>
> But why an exec?! Surely there must be some other way to do this than an
> exec?
Maybe, but this sure is gnarly code:
_s = ("def %s(self, *args): return self._sock.%s(*args)\n\n"
"%s.__doc__ = _realsocket.%s.__doc__\n")
for _m in _socketmethods:
exec _s % (_m, _m, _m, _m)
del _m, _s
Guido's memory is good, that's from the _socketobject class in
socket.py.
--David
More information about the Python-Dev
mailing list