C-style static variables in Python?

Ethan Furman ethan at stoneleaf.us
Sat Apr 3 04:42:29 CEST 2010

Terry Reedy wrote:
>> In<Xns9D4EC021DC8EAduncanbooth at>  Duncan 
>> Booth<duncan.booth at 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.  :)


More information about the Python-list mailing list