C/C から呼び出された Python メソッドからの戻り値の抽出
C からカスタム Python 関数を呼び出す場合、 C でさらに処理するための戻り値。これは、CPython によって提供されるメソッドを活用することで実現できます。 API.
まず、PyImport_Import():
PyObject* myModuleString = PyString_FromString((char*)"mytest"); PyObject* myModule = PyImport_Import(myModuleString);
を使用して Python モジュールをインポートします。次に、PyObject_GetAttrString():
PyObject* myFunction = PyObject_GetAttrString(myModule,(char*)"myabs");
を使用して関数への参照を取得します。関数の引数を作成し、次のように呼び出します。 PyObject_CallObject():
PyObject* args = PyTuple_Pack(1,PyFloat_FromDouble(2.0)); PyObject* myResult = PyObject_CallObject(myFunction, args);
最後に、C の double 結果を取得します:
double result = PyFloat_AsDouble(myResult);
エラー処理は重要であり、これらの操作中の潜在的なエラーを考慮して実装する必要があることに注意してください。
以上がC/C 経由で呼び出される Python メソッドから戻り値を抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。