本问题已经有最佳答案,请猛点这里访问。
我想避免调用很多
什么好主意吗?
1 | instance.__class__.__name__ |
例子:
1 2 3 4 5 | >>> class A(): pass >>> a = A() >>> a.__class__.__name__ 'A' |
1 | <object>.__class__.__name__ |
您还可以创建一个dict,其中类本身作为键,而不一定是类名
1 2 3 4 5 6 7 8 9 10 11 12 | 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)*) |
这里
当然,使用"真正的"OOP会更好