Python/C API數(shù)字在操作處理時(shí)的實(shí)際步驟
Python/C API數(shù)字與字符串在進(jìn)行相關(guān)處理時(shí)Python/C API中提供了Py_BuildValue()函數(shù)對數(shù)字與字符串在進(jìn)行轉(zhuǎn)換處理時(shí),使其變成Python中相應(yīng)的數(shù)據(jù)類型。其相關(guān)函數(shù)的原型如下所示。
PyObject* Py_BuildValue( const char *format, ...)
其參數(shù)含義如下。
format:格式化字符串,
Py_BuildValue()函數(shù)中剩余的參數(shù)即要轉(zhuǎn)換的C語言中的整型、浮點(diǎn)型或者字符串等。其返回值為PyObject型的指針。在C語言中,所有的Python類型都被聲明為PyObject型。#t#
Python/C API列表操作
在Python/C API中提供了PyList_New()函數(shù)用以創(chuàng)建一個(gè)新的Python列表。PyList_New()函數(shù)的返回值為所創(chuàng)建的列表。其函數(shù)原型如下所示。
PyObject* PyList_New( Py_ssize_t len)
其參數(shù)含義如下。
len:所創(chuàng)建列表的長度。
當(dāng)列表創(chuàng)建以后,可以使用PyList_SetItem()函數(shù)向列表中添加項(xiàng)。其函數(shù)原型如下所示。
int PyList_SetItem( PyObject *list, Py_ssize_t index, PyObject *item)
其參數(shù)含義如下。
list:要添加項(xiàng)的列表。
index:所添加項(xiàng)的位置索引。
item:所添加項(xiàng)的值。
同樣可以使用Python/C API中PyList_GetItem()函數(shù)來獲取列表中某項(xiàng)的值。PyList_GetItem()函數(shù)返回項(xiàng)的值。其函數(shù)原型如下所示。
PyObject* PyList_GetItem( PyObject *list, Py_ssize_t index)
其參數(shù)含義如下。
list:要進(jìn)行操作的列表。
index:項(xiàng)的位置索引。
Python/C API中提供了與Python中列表操作相對應(yīng)的函數(shù)。例如列表的append方法對應(yīng)于PyList_Append()函數(shù)。列表的sort方法對應(yīng)于PyList_Sort()函數(shù)。列表的reverse方法對應(yīng)于PyList_Reverse()函數(shù)。其函數(shù)原型分別如下所示。
int PyList_Append( PyObject *list, PyObject *item)
int PyList_Sort( PyObject *list)
int PyList_Reverse( PyObject *list)
對于PyList_Append()函數(shù),其參數(shù)含義如下。
list:要進(jìn)行操作的列表。
item:要參加的項(xiàng)。
對于PyList_Sort()和PyList_Reverse()函數(shù),其參數(shù)含義相同。
list:要進(jìn)行操作的列表。