如何获得具体的类名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会好得多