Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- from functools import partial
- class Foo:
- def callback(self, value):
- print(value)
- def wrong(self):
- callbacks = []
- for i in range(3):
- callbacks.append(lambda: self.callback(i))
- for c in callbacks:
- c()
- def right(self):
- callbacks = []
- for i in range(3):
- callbacks.append(partial(self.callback, i))
- for c in callbacks:
- c()
- def test(self):
- callbacks = []
- get_fn = lambda i: (lambda: self.callback(i))
- for i in range(3):
- callbacks.append(get_fn(i))
- for c in callbacks:
- c()
- if __name__ == '__main__':
- f = Foo()
- f.wrong(); print()
- f.right(); print()
- f.test()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement