Dennis Lee Bieber wrote:
> On Tue, 01 Aug 2006 10:56:52 -0500, Kirk Strauser <[EMAIL PROTECTED]>
> declaimed the following in comp.lang.python:
> 
>> Larry Bates wrote:
>>
>>> print print b.__class__.__name__  gives what you want
>> That doesn't seem to do it, though.  Here's the result of importing a module
>> from my company's internally-developed library:
>>
>>>>> from Daycos.TableCopier.copyfro import StateProcessor
>>>>> print StateProcessor.__class__.__name__
>> type
>>
>> I'm looking for something that would print 'StateProcessor' but am not
>> having much luck.
> 
>       And what is "StateProcessor"
> 
>>>> class SP(object):
> ...   pass
> ... 
>>>> print SP.__class__.__name__
> type
> 
>       Looks like it is, itself, the class, not something within the class.
> 
>>>> s=SP()
>>>> print s.__class__.__name__
> SP
>>>> DP = SP
>>>> d = DP()
>>>> print DP.__class__.__name__
> type
>>>> print d.__class__.__name__
> SP

When I do this:

class foo(object):
    pass

if __name__=="__main__":
    a=foo()
    print a.__class__.__name__


Note: You must do it on instance of the class not the class itself.

it prints 'foo' for me.  Not exactly sure why you get something very
different.  I've used this LOTS of times in my code, but I'll admit
mostly with old-style classes.

-Larry Bates
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to