I want to avoid calling a lot of isinstance() functions, so I'm looking for a way to get the concrete class name for an instance variable as a string.
Any ideas?
I want to avoid calling a lot of isinstance() functions, so I'm looking for a way to get the concrete class name for an instance variable as a string.
Any ideas?
instance.__class__.__name__ example:
>>> class A(): pass >>> a = A() >>> a.__class__.__name__ 'A' type(instance).__name__A.__name__str(type(foo)) == "<class 'never.gonna.give.youup'>" but type(foo).__name__ == "youup". How do I get never.gonna.give.youup?you can also create a dict with the classes themselves as keys, not necessarily the classnames
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)*) here typefunc is a dict that maps a function for each type. transform gets that function and applies it to the parameter.
of course, it would be much better to use 'real' OOP