把Python嵌入C/C++元組操作的具體以應用方案介紹
你如果對把Python嵌入C/C++的元組操作的相關內容感興趣的話,你就可以點擊以下的文章對其進行了解,以下的文章會涉及到Python嵌入C/C++的元組操作的具體應用以及在操作中所要用到的相關函數的介紹。
把Python嵌入C/C++的元組操作
在Python/C
API中提供了PyTuple_New()函數,用以創建一個新的Python元組。PyTuple_New()函數返回所創建的元組。其函數原型如下所示。PyObject* PyTuple_New( Py_ssize_t len)
其參數含義如下。
len:所創建元組的長度。
當元組創建以后,可以使用PyTuple_SetItem()函數向元組中添加項。其函數原型如下所示。#t#
int PyTuple_SetItem( PyObject *p, Py_ssize_t pos, PyObject *o)
其參數含義如下所示。
p:所進行操作的元組。
pos:所添加項的位置索引。
o:所添加的項值。
可以使用Python/C API中PyTuple_GetItem()函數來獲取元組中某項的值。PyTuple_GetItem()函數返回項的值。其函數原型如下所示。
PyObject* PyTuple_GetItem( PyObject *p, Py_ssize_t pos)
其參數含義如下。
p:要進行操作的元組。
pos:項的位置索引。
當元組創建以后可以使用_PyTuple_Resize()函數重新調整元組的大小。其函數原型如下所示。
int _PyTuple_Resize( PyObject **p, Py_ssize_t newsize)
其參數含義如下。
p:指向要進行操作的元組的指針。
newsize:新元組的大小。
把Python嵌入字典操作
在Python/C API中提供了PyDict_New()函數用以創建一個新的字典。PyDict_New()函數返回所創建的字典。其函數原型如下所示。
PyObject* PyDict_New()
當字典創建后,可以使用PyDict_SetItem()函數和PyDict_SetItemString()函數向字典中添加項。其函數原型分別如下所示。
int PyDict_SetItem( PyObject *p, PyObject *key, PyObject *val)
int PyDict_SetItemString( PyObject *p, const char *key, PyObject *val)
其參數含義如下。
p:要進行操作的字典。
key:添加項的關鍵字,對于PyDict_SetItem()函數其為PyObject型,對于PyDict_SetItemString()函數其為char型。
val:添加項的值。
使用Python/C API中的PyDict_GetItem()函數和PyDict_GetItemString()函數來獲取字典中某項的值。它們都返回項的值。其函數原型分別如下所示。
PyObject* PyDict_GetItem( PyObject *p, PyObject *key)
PyObject* PyDict_GetItemString( PyObject *p, const char *key)
其參數含義如下。
p:要進行操作的字典。
key:添加項的關鍵字,對于PyDict_GetItem()函數其為PyObject型,對于PyDict_GetItemString()函數其為char型。
使用Python/C API中的PyDict_DelItem()函數和PyDict_DelItemString()函數可以刪除字典中的某一項。其函數原型如下所示。
int PyDict_DelItem( PyObject *p, PyObject *key)
int PyDict_DelItemString( PyObject *p, char *key)
其參數含義如下。
p:要進行操作的字典。
key:添加項的關鍵字,對于PyDict_DelItem()函數其為PyObject型,對于PyDict_DelItemString()函數其為char型。
使用Python/C API中的PyDict_Next()函數可以對字典進行遍歷。其函數原型如下所示。
int PyDict_Next( PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue)
其參數含義如下。
p:要進行遍歷的字典。
ppos:字典中項的位置,應該被初始化為0。
pkey:返回字典的關鍵字。
pvalue:返回字典的值。
在Python/C API中提供了與Python中字典操作相對應的函數。例如字典的item方法對應于PyDict_Items()函數。字典的keys方法對應于PyDict_Keys()函數。字典的values方法對應于PyDict_Values()函數。其函數原型分別如下所示。
PyObject* PyDict_Items( PyObject *p)
PyObject* PyDict_Keys( PyObject *p)
PyObject* PyDict_Values( PyObject *p)
其參數含義如下。
p:要進行操作的字典。
以上就是對如何把Python嵌入C/C++的元組操作以及Python嵌入字典操作相關的內容的介紹,望你會有所收獲。