Python のリフレクション機能を使用して、Python の「type」オブジェクトを文字列に変換する方法を知りたいです。
例えば、オブジェクトの型を出力したいとします
print("My type is " + type(some_object)) # (which obviously doesn't work like this)
ベストアンサー1
print(type(some_object).__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
。