Larry Bates wrote: > Kirk Strauser wrote: >> Given a class: >> >>>>> class foo(object): >>>>> pass >> how can I find its name, such as: >> >>>>> b = foo >>>>> print something(b) >> 'foo' >> >> I'm writing a trace() decorator for the sake of practice, and am trying to >> print the name of the class that a traced method belongs to. This seems >> like it should be easy, but I think I've been staring at the problem too >> long. > > print print b.__class__.__name__ gives what you want
Actually it should be b.__name__, since b refers to *class* foo. b.__class__ is the metaclass (usually 'type' unless there's a custom metaclass). -- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in '[EMAIL PROTECTED]'.split('@')])" -- http://mail.python.org/mailman/listinfo/python-list