C-style static variables in Python?
Ethan Furman
ethan at stoneleaf.us
Fri Apr 2 22:42:29 EDT 2010
Terry Reedy wrote:
>> In<Xns9D4EC021DC8EAduncanbooth at 127.0.0.1> 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. :)
~Ethan~
More information about the Python-list
mailing list