In the example below, the attribute "data" is added to a function object. "me" can be used to get the function when it is invoked using an identifier that matches the "co_name" attribute of function's code object. Can anyone conjure an example of accessing fun2.data from without prior knowledge of the value of fun2.f_code.co_name?
###code begin### #!/bin/python import sys def me(): t = sys._getframe(0) return t.f_back.f_globals[t.f_back.f_code.co_name] def fun1(): m = me print me().data def makefun () : def tmpfunc(): print 'need something like me().data' return tmpfunc fun1.s = fun1 fun1.data=['one', 'two', 'three'] fun1() fun2 = makefun() fun2.data=['four', 'five','six'] fun2() ###code end### -- Poor Yorick -- http://mail.python.org/mailman/listinfo/python-list