On Wed, 18 Oct 2006 13:59:55 -0700, Mitko Haralanov wrote: > I need to be able to get the name of the currently executed method > within that method. I know that the method object does have the > __name__ attribute but I know know how to access it from withing the > method.
Here is a useful (moderately advanced) technique: def factory(arg): def foo(x=arg): print "My name is", foo.__name__ print "My result is", x + 1 return foo class spam: pass for i in range(10): name = "method_%d" % i f = factory(i) f.__name__ = name setattr(spam, name, staticmethod(f)) But: >>> spam.method_0(1) My name is method_0 My result is 2 >>> spam.method_7(9.4) My name is method_7 My result is 10.4 -- Steven. -- http://mail.python.org/mailman/listinfo/python-list