2009-02-06 31 views

回答

133
instance.__class__.__name__ 

例如:

>>> class A(): 
    pass 
>>> a = A() 
>>> a.__class__.__name__ 
'A' 
+36

我更喜欢:'类型(比如).__ name__` – Chris 2011-05-08 18:58:51

+2

如果你不想将类实例?你能得到这个班的名字吗? (不含对象) – Gabriel 2013-10-15 23:17:35

8

,你也可以使用类创建一个字典本身作为关键字,不一定是类名

typefunc={ 
    int:lambda x: x*2, 
    str:lambda s:'(*(%s)*)'%s 
} 

def transform (param): 
    print typefunc[type(param)](param) 

transform (1) 
>>> 2 
transform ("hi") 
>>> (*(hi)*) 

这里是映射的字典每种类型的功能。 transform获取该函数并将其应用于该参数。

,当然,这将是更好的使用“真正的” OOP

相关问题