Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import types
- from functools import wraps
- def recurse(replace_fn):
- def _recurse(fn):
- @wraps(fn)
- def wrapper(self):
- v = fn(self)
- @recurse(replace_fn)
- @wraps(fn)
- def replacement(self):
- return replace_fn(v)
- setattr(self, fn.__name__, types.MethodType(replacement, self))
- return v
- return wrapper
- return _recurse
- class Wtf(object):
- @recurse(lambda x: (x + 1) % 12)
- def up_to_eleven(self):
- return 0
- x = Wtf()
- for i in range(0, 15):
- print x.up_to_eleven()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement