我想避免频繁调用
有什么想法吗?
isinstance()
函数,因此我正在寻找一种以字符串形式获取实例变量具体类名的方法。有什么想法吗?
isinstance()
函数,因此我正在寻找一种以字符串形式获取实例变量具体类名的方法。 instance.__class__.__name__
例子:
>>> class A():
pass
>>> a = A()
>>> a.__class__.__name__
'A'
type(instance).__name__
- ChrisA.__name__
。 - bk0str(type(foo)) == "<class 'never.gonna.give.youup'>"
但是 type(foo).__name__ == "youup"
。我该如何获得 never.gonna.give.youup
? - Martin Thoma<object>.__class__.__name__
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
获取该函数并将其应用于参数。
当然,使用“真正的”面向对象编程会更好。