Pythonでの結果をtype()
出力すると、現在のスコープにない型名が表示されることがあります。たとえば、次のコードが表示されます"<type 'frame'>"
import inspect
a = inspect.currentframe()
print( type( a ) )
しかしframe
、現在のスコープにはタイプがありません! 対話型インタープリターで使用しようとすると、エラーが発生します。
>>> frame
NameError: name 'frame' is not defined
コードで参照できるように、「inspect.something.frame」のような「完全修飾」型名を取得する方法はありますか?
アップデート
残念ながら、__module__
あまりにも機能していません:
>>> type( a ).__module__
'__builtin__'