Terry Reedy wrote:
In<xns9d4ec021dc8eaduncanbo...@127.0.0.1> Duncan Booth<duncan.bo...@invalid.invalid> writes:

class Spam(object):
   mongo = None
   def __call__(self, x, y, z):
       if self.mongo is None:
           self.mongo = heavy_lifting_at_runtime()
       return frobnicate(x, y, z, self.mongo)


Unless one wants the intialization of mongo delayed in case spam is never called, it can go in __init__ instead.

As a matter of fact, I have an object that is usually not called during it's modules use, so I put in __getattr__. Sped the modules load time back up to pert near instantaneous. :)

~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to