當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy LowLevelCallable用法及代碼示例


本文簡要介紹 python 語言中 scipy.LowLevelCallable 的用法。

用法:

class  scipy.LowLevelCallable(function, user_data=None, signature=None)#

低級回調函數。

SciPy 中的某些函數采用回調函數作為參數,這些函數可以是 python 可調用函數,也可以是低級編譯函數。使用已編譯的回調函數可以避免將數據包裝在 Python 對象中,從而在一定程度上提高性能。

SciPy 中的此類低級函數被包裝在LowLevelCallable對象,可以通過從 ctypes、cffi、Cython 獲取的函數指針或 Python 中包含的函數指針來構造PyCapsule對象。

參數

function {PyCapsule, ctypes 函數指針, cffi 函數指針}

低級回調函數。

user_data {PyCapsule,ctypes void 指針,cffi void 指針}

要傳遞給回調函數的用戶數據。

signature str,可選

函數的簽名。如果省略,則根據函數確定,如果可能的話。

注意

參數 function 可以是以下之一:

  • PyCapsule,其名稱包含 C 函數簽名

  • ctypes 函數指針

  • cffi 函數指針

低級回調的簽名必須與傳遞給它的例程所期望的簽名之一匹配。

如果從 PyCapsule 構造低級函數,則膠囊的名稱必須是相應的簽名,格式為:

return_type (arg1_type, arg2_type, ...)

例如:

"void (double)"
"double (double, int *, void *)"

如果未給出 user_data 的顯式值,則作為 function 傳入的 PyCapsule 的上下文將用作 user_data

屬性

function

給定的回調函數。

user_data

給出的用戶數據。

signature

函數的簽名。

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.LowLevelCallable。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。