On Mon, Nov 25, 2013 at 12:45 AM, Steven D'Aprano <steve+comp.lang.pyt...@pearwood.info> wrote: > Not quite impossible. All you need is an object that behaves like a > string, except it has a __call__ method. Here's a sketch of a solution, > completely untested. > > class Magic_HTTP_Thing: > @property > def attribute(self): > result = CallableStr(self.do_get()) > result.function = lambda: self.do_put()
Problem with that is that it'll still call do_get immediately. You'd have to somehow defer this call until it's actually _used_, which is why I dropped a mention of "converting to str?" - which would presumably be a __str__ method. But I still don't like the API. ChrisA -- https://mail.python.org/mailman/listinfo/python-list