Hi,

I'm not sure whether what I ask for is impossible, but would know how others handle such situations.



I'm having a module, which should lazily evaluate one of it's variables.
Meaning that it is evaluated only if anybody tries to use this variable.

At the moment I don't know how to do this and do therefore following:


####### mymodule.py #######
var = None

def get_var():
    global var
    if var is not None:
        return var
    var = something_time_consuming()



Now the importing code would look like

import mymodule
def f():
    var = mymodule.get_var()

The disadvantage is, that I had to change existing code directly accessing the variable.


I wondered if there were any way to change mymodule.py such, that the importing code could just access a variable and the lazy evaluation would happen transparently.

import mymodule
def f():
    var = mymodule.var



Thanks in advance for you suggestions





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

Reply via email to