我想避免调用很多isinstance()
函数,所以我正在寻找一种方法来将实例变量的具体类名称作为字符串.
有任何想法吗?
instance.__class__.__name__
例:
>>> class A(): pass >>> a = A() >>> a.__class__.__name__ 'A'
你也可以用类本身作为键创建一个dict,不一定是类名
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
是一个映射每种类型函数的字典.transform
获取该函数并将其应用于参数.
当然,使用'真正的'OOP会好得多