変数がモジュールであるかどうかをテストする必要があります。どのようにこれを最もクリーンな方法で行うのですか?isinstance(x、module)の使い方
ディスパッチャ関数を初期化するためにこれが必要です。この関数は、dictまたはmoduleを引数として受け入れることができます。
変数がモジュールであるかどうかをテストする必要があります。どのようにこれを最もクリーンな方法で行うのですか?isinstance(x、module)の使い方
ディスパッチャ関数を初期化するためにこれが必要です。この関数は、dictまたはmoduleを引数として受け入れることができます。
>>> import os, types
>>> isinstance(os, types.ModuleType)
True
(それはまた、独自のPythonモジュールと同様に、os
のような組み込みのもののために働く。)
ありがとう!それは完全に動作します! –
私はあなたがタイプのモジュールをインポートする必要はありませんので、これを使用したい:
isinstance(amodule, __builtins__.__class__)
また、実際に引数のタイプを確認する必要がありますか?関数が引数の種類に基づいて全く異なる何かをする場合、確かにチェックする必要がありますが、そうでない場合は、通常は型を明示的にチェックしないようにするのがよりPythonicです。 –
pythonic方法は、メソッドと変数の存在をチェックすることです。チェックすることが余りにも多い場合は、isinstanceが優先されます。 – Unknown
Pythonの方法は、必要なものだけを使って「チェック」することです。存在しなければならないものがあれば、Pythonはエラーを発生させます。とにかくそれらをすべて使うつもりなら、 "チェック"するにはあまりにも多くのプロパティがあるかもしれません。 –