I am trying to define a class static variable. But the value of the static variable seems to be only defined inside the file that the class is declared. See the code below. When I run "python w.py", I got:
000=======> Hello World 001=======> Hello World 002=======> Not Initialized 003=======> Not Initialized 004=======> Not Initialized 005=======> Hello World Looks like even though the class variable "ClassW.w_classStaticVar" was set inside "startup()", the value never carried over to functions in "a.py". Is this a bug in Python's static variable handling. I am running Python 2.4.4. Ben #===== file: w.py ======== from a import * class ClassW: w_classStaticVar = "Not Initialized" def initA(self): print "001=======>", ClassW.w_classStaticVar obj = ClassA() obj.init2() print "005=======>", ClassW.w_classStaticVar def startup(): ClassW.w_classStaticVar = "Hello World" wo = ClassW() print "000=======>", ClassW.w_classStaticVar wo.initA() if __name__ == '__main__': startup() #===== file: a.py ======== from w import * class ClassA: def __init__(self): print "002=======>", ClassW.w_classStaticVar def init2(self): print "003=======>", ClassW.w_classStaticVar w = ClassW() print "004=======>", ClassW.w_classStaticVar -- http://mail.python.org/mailman/listinfo/python-list