class Foo(object): def add_property(self, name): def getter(): return 10 def setter(value): print "setter;", value setattr(self, name, property(getter, setter)) def __init__(self): self.add_property('foo') foo = Foo() print foo.foo