Mercurial > hg > config
view python/example/bind.py @ 807:26786fae0703
this relies on a requirement that is not part of my (2.7.12) stdlib; i almost deleted it. instead, i will keep for fun and note the requirement for further research
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Fri, 28 Oct 2016 17:09:04 -0700 |
parents | 4063bbeaa7d4 |
children |
line wrap: on
line source
#!/usr/bin/env python """ illlustrate e.g. method bind for python """ class Foo(object): @classmethod def create(cls): """create an instance and bind a method onto foo""" class decorator(object): def __init__(self, function): self.function = function def __call__(self): print "Bar!" return self.function() instance = cls() instance.foo = decorator(instance.foo) return instance def foo(self): print "Foo!" if __name__ == '__main__': foo = Foo.create() foo.foo()