溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何把Python嵌入C/C++元組以及應用

發(fā)布時間:2021-10-26 16:36:01 來源:億速云 閱讀:281 作者:柒染 欄目:編程語言

這篇文章給大家介紹如何把Python嵌入C/C++元組以及應用,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

把Python嵌入C/C++的元組操作

在Python/C API中提供了PyTuple_New()函數(shù),用以創(chuàng)建一個新的Python元組。PyTuple_New()函數(shù)返回所創(chuàng)建的元組。其函數(shù)原型如下所示。

PyObject* PyTuple_New( Py_ssize_t len)

其參數(shù)含義如下。

len:所創(chuàng)建元組的長度。

當元組創(chuàng)建以后,可以使用PyTuple_SetItem()函數(shù)向元組中添加項。其函數(shù)原型如下所示。

  • 淺析ASP.NET MVC 2中的Tailspin Travel U

  • 定義未來Web樣式 CSS 3最新特性一覽

  • Python嵌入C++來彌補C++本身不足之處的方

  • Python嵌入C/C++會產(chǎn)生的強大功能的介紹

  • Python嵌入C/C++(較低層次嵌入)時所需

int PyTuple_SetItem( PyObject *p, Py_ssize_t pos, PyObject *o)

其參數(shù)含義如下所示。

p:所進行操作的元組。

pos:所添加項的位置索引。

o:所添加的項值。

可以使用Python/C API中PyTuple_GetItem()函數(shù)來獲取元組中某項的值。PyTuple_GetItem()函數(shù)返回項的值。其函數(shù)原型如下所示。

PyObject* PyTuple_GetItem( PyObject *p, Py_ssize_t pos)

其參數(shù)含義如下。

p:要進行操作的元組。

pos:項的位置索引。

當元組創(chuàng)建以后可以使用_PyTuple_Resize()函數(shù)重新調整元組的大小。其函數(shù)原型如下所示。

int _PyTuple_Resize( PyObject **p, Py_ssize_t newsize)

其參數(shù)含義如下。

p:指向要進行操作的元組的指針。

newsize:新元組的大小。

把Python嵌入字典操作

在Python/C API中提供了PyDict_New()函數(shù)用以創(chuàng)建一個新的字典。PyDict_New()函數(shù)返回所創(chuàng)建的字典。其函數(shù)原型如下所示。

PyObject* PyDict_New()

當字典創(chuàng)建后,可以使用PyDict_SetItem()函數(shù)和PyDict_SetItemString()函數(shù)向字典中添加項。其函數(shù)原型分別如下所示。

int PyDict_SetItem( PyObject *p, PyObject *key, PyObject *val)

int PyDict_SetItemString( PyObject *p, const char *key, PyObject *val)

其參數(shù)含義如下。

p:要進行操作的字典。

key:添加項的關鍵字,對于PyDict_SetItem()函數(shù)其為PyObject型,對于PyDict_SetItemString()函數(shù)其為char型。

val:添加項的值。

使用Python/C API中的PyDict_GetItem()函數(shù)和PyDict_GetItemString()函數(shù)來獲取字典中某項的值。它們都返回項的值。其函數(shù)原型分別如下所示。

PyObject* PyDict_GetItem( PyObject *p, PyObject *key)

PyObject* PyDict_GetItemString( PyObject *p, const char *key)

其參數(shù)含義如下。

p:要進行操作的字典。

key:添加項的關鍵字,對于PyDict_GetItem()函數(shù)其為PyObject型,對于PyDict_GetItemString()函數(shù)其為char型。

使用Python/C API中的PyDict_DelItem()函數(shù)和PyDict_DelItemString()函數(shù)可以刪除字典中的某一項。其函數(shù)原型如下所示。

int PyDict_DelItem( PyObject *p, PyObject *key)

int PyDict_DelItemString( PyObject *p, char *key)

其參數(shù)含義如下。

p:要進行操作的字典。

key:添加項的關鍵字,對于PyDict_DelItem()函數(shù)其為PyObject型,對于PyDict_DelItemString()函數(shù)其為char型。

使用Python/C API中的PyDict_Next()函數(shù)可以對字典進行遍歷。其函數(shù)原型如下所示。

int PyDict_Next( PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue)

其參數(shù)含義如下。

p:要進行遍歷的字典。

ppos:字典中項的位置,應該被初始化為0。

pkey:返回字典的關鍵字。

pvalue:返回字典的值。

在Python/C API中提供了與Python中字典操作相對應的函數(shù)。例如字典的item方法對應于PyDict_Items()函數(shù)。字典的keys方法對應于PyDict_Keys()函數(shù)。字典的values方法對應于PyDict_Values()函數(shù)。其函數(shù)原型分別如下所示。

PyObject* PyDict_Items( PyObject *p)

PyObject* PyDict_Keys( PyObject *p)

PyObject* PyDict_Values( PyObject *p)

其參數(shù)含義如下。

p:要進行操作的字典。

關于如何把Python嵌入C/C++元組以及應用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI