Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで関数の名前を持つ文字列からモジュールの関数を呼び出す方法は?


Pythonのオブジェクトには、属性としてインスタンス変数とメソッドがあります。 Pythonで関数名の文字列からモジュールの関数を呼び出すには、最初にこの属性を取得して、それに接続されている関数オブジェクトを呼び出すことができます。たとえば、モジュールfooがあり、その内容が「bar」である文字列があるとします。 foo.bar()を呼び出すための最良の方法は、次のとおりです。

>>> import foo
>>> method_to_call = getattr(foo, 'bar')
>>> result = method_to_call()

モジュールプレフィックスのないグローバルまたはローカル名前空間に関数がある場合は、globals()/ locals()を使用することもできます。 localsは、現在のローカルシンボルテーブルを含むディクショナリを返します。 globalsは、グローバルシンボルテーブルを含むディクショナリを返します。

>>> result = locals()["myfunction"]()
or
>>> result = globals()["myfunction"]()

  1. MATLABからPython関数を呼び出すにはどうすればよいですか?

    PythonライブラリがMATLABで利用できるようになりました(2014b以降)。バージョン2014b以降を使用している場合は、MATLABでコードを直接実行できます。 これにより、MATLABでPythonモジュールを使用できるようになります。他に変更を加えることなく、使用するPythonライブラリ名の前に「py」を付けるだけです。例としてPythonカレンダーモジュールを使用してみましょう。 py.calendar.isleap(2016); py.calendar.isleap(2017); 出力 ans =1 ans = 0 独自の関数を実行するために、現在のMATLAB作業デ

  2. コマンドラインからPythonモジュールを呼び出す方法は?

    モジュールとして使用されるPythonスクリプトを作成している場合は、この関数の呼び出しを下部に追加することで、このモジュールをテストできます。 def fubar():     #does something useful fubar() 次のようなコマンドプロンプトで実行します: ~$ python fubar.py