Pythonの「type」オブジェクトを文字列に変換する 質問する

Pythonの「type」オブジェクトを文字列に変換する 質問する

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

おすすめ記事