Robin Becker wrote:
import inspect
class A:
_class_name=inspect.currentframe().f_code.co_name
def __init__(self,text,_defining_class_name=_class_name):
print 'text=',text,'_defining_class_name=',_defining_class_name
class B(A):
pass
b=B('aaa')
That won't work, if you, say, wanted to print out the name of the
class the constructor was defined in for a whole chain of
constructors. Which is about the only case I can think of where
this would be useful.
could work as well, but if we only need the local name why not just
insert directly.
To be honest, that is what I have done every time I have needed
something like this.
I've only used metaclasses in production code once and I still debate
whether that case is a good idea or not.
--
Michael Hoffman
--
http://mail.python.org/mailman/listinfo/python-list