如何获得具体的类名string?

我想避免调用大量的isinstance()函数,所以我正在寻找一种方法来获取实例variables的具体类名称作为string。

有任何想法吗?

  instance.__class__.__name__ 

例:

 >>> class A(): pass >>> a = A() >>> a.__class__.__name__ 'A' 
 <object>.__class__.__name__ 

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

 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)*) 

这里typefunc是一个为每种types映射函数的字典。 transform获取该函数并将其应用于参数。

当然,使用“真正的”OOP会好得多