Tony wrote: > Is this cheating?
Isn't it harder to calculate the magic indices than just writing down the names twice? > class a: > def square(self, x): > print 'executing:', dir(self)[-1] > print x*x > def cube(self, x): > print 'executing:', dir(self)[-2] > print x*x*x > > b=a() > b.square(3) > b.cube(3) > Output: > > PyMate r6780 running Python 2.3.5 (python) > >>> function self naming2.py > > executing: square > 9 > executing: cube > 27 > Is this cheating? No, just wrong. >> class A: ... def alpha(self): return dir(self)[-2] ... def gamma(self): return dir(self)[-1] ... >>> a = A() >>> a.alpha(), a.gamma() ('alpha', 'gamma') >>> a.beta = 42 >>> a.alpha(), a.gamma() ('beta', 'gamma') Peter -- http://mail.python.org/mailman/listinfo/python-list