我想知道如何使用python的反射功能将python’type’对象转换为字符串。
例如,我想打印一个对象的类型
print "My type is " + type(someObject) # (which obviously doesn't work like this)
print type(someObject).__name__
如果那不适合您,请使用此:
print some_instance.__class__.__name__
例:
class A: pass print type(A()) # prints <type 'instance'> print A().__class__.__name__ # prints A
另外,type()使用新样式的类和旧样式的类(即从继承object)之间似乎也存在差异。对于新样式的类,type(someObject).__name__返回名称,对于旧样式的类,返回instance。
type()
object
type(someObject).__name__
instance