import python_nondynamic aa = python_nondynamic.A() aa.a = 1 aa.b = 2 try: aa.c = 2 err = 0 except: err = 1 if not err: raise RuntimeError, "A is not static" class B(python_nondynamic.A): c = 4 def __init__(self): python_nondynamic.A.__init__(self) pass pass bb = B() try: bb.c = 3 err = 0 except: err = 1 if not err: print "bb.c = %d" % bb.c print "B.c = %d" % B.c raise RuntimeError, "B.c class variable messes up nondynamic-ness of B" try: bb.d = 2 err = 0 except: err = 1 if not err: raise RuntimeError, "B is not static" cc = python_nondynamic.C() cc.d = 3