On 12/07/2013 9:11 AM, Joshua Landau wrote:
I also feel that:
def factory():
eatit = deque(maxlen=0).extend
def exhaust_iter(it):
"""Doc string goes here"""
eatit(it)
return exhaust_iter
exhaust_it = factory()
del factory
is a very unobvious way to change a docstring and hides what I'm doing
very effectively.
My last post seems to have been eaten by either Thunderbird or the
EternalSeptember servers, but it contained an erroneous claim that the
straight function version performed as well as the factory one. However,
in the interim a co-worker has come up with a slightly faster variant:
from functools import partial
from collections import deque
class exhaust_it(partial):
"""custom doc string"""
exhaust_it = exhaust_it(deque(maxlen=0).extend)
Shadowing the class name with the partial instance will ensure it has
the same name when accessed via help(), and it's a simple way to avoid
needing to clean up the namespace, as well.
--
http://mail.python.org/mailman/listinfo/python-list