クラスMyClass
が定義されていることがあります。私は関数foo(a=None)
を引数a
がNone
、文字列、またはMyClass
のオブジェクトにすることができます。定義されていないクラスのisinstanceの使用
私の質問は:MyClass
は私のPythonセッションで定義されていない場合、どのように私はNameError
を得ることなくisinstance
と同様の方法で引数a
の種類を確認することができますか?
ダックタイピングについての注意:私は故意に機能を制限しています。
私はPython 2.6.xを使用しています。アップデートはオプションではありません。順方向互換のソリューション(特に2.7.x用)は高く評価されています。
シンプルで、定義されていなければ、 'NameError'を取得します。周囲に道がありません –
あなたのクラスは条件付きで*定義されますか? – deceze
'try-except'を使用してください。あなたのクラスが定義されていない場合は、そのオブジェクトがインスタンスではないということが与えられます。 – DeepSpace