Sil*_*ost 177
instance.__class__.__name__
Run Code Online (Sandbox Code Playgroud)
例:
>>> class A():
pass
>>> a = A()
>>> a.__class__.__name__
'A'
Run Code Online (Sandbox Code Playgroud)
你也可以用类本身作为键创建一个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)*)
Run Code Online (Sandbox Code Playgroud)
这typefunc是一个映射每种类型函数的字典.transform获取该函数并将其应用于参数.
当然,使用'真正的'OOP会好得多