新聞中心
切片對象
PyTypeObject PySlice_Type

成都創(chuàng)新互聯(lián)于2013年開始,先為赤坎等服務(wù)建站,赤坎等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為赤坎企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
Part of the Stable ABI.
切片對象的類型對象。 它與 python 層面的 slice 是相同的對象。
int PySlice_Check(PyObject *ob)
如果 ob 是一個 slice 對象則返回真值;ob 必須不為 NULL。 此函數(shù)總是會成功執(zhí)行。
PyObject *PySlice_New(PyObject *start, PyObject *stop, PyObject *step)
Return value: New reference. Part of the Stable ABI.
返回一個具有給定值的新切片對象。 start, stop 和 step 形參會被用作 slice 對象相應(yīng)名稱的屬性的值。 這些值中的任何一個都可以為 NULL,在這種情況下將使用 None 作為對應(yīng)屬性的值。 如果新對象無法被分配則返回 NULL。
int PySlice_GetIndices(PyObject *slice, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step)
Part of the Stable ABI.
從切片對象 slice 提取 start, stop 和 step 索引號,將序列長度視為 length。 大于 length 的序列號將被當(dāng)作錯誤。
成功時返回 0,出錯時返回 -1 并且不設(shè)置異常(除非某個序列號不為 None 且無法被轉(zhuǎn)換為整數(shù),在這種情況下會返回 -1 并且設(shè)置一個異常)。
你可能不會打算使用此函數(shù)。
在 3.2 版更改: 之前 slice 形參的形參類型是 PySliceObject*。
int PySlice_GetIndicesEx(PyObject *slice, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, Py_ssize_t *slicelength)
Part of the Stable ABI.
PySlice_GetIndices() 的可用替代。 從切片對象 slice 提取 start, stop 和 step 索引號,將序列長度視為 length,并將切片的長度保存在 slicelength 中,超出范圍的索引號會以與普通切片一致的方式進(jìn)行剪切。
成功時返回 0,出錯時返回 -1 并且不設(shè)置異常。
備注
此函數(shù)對于可變大小序列來說是不安全的。 對它的調(diào)用應(yīng)被替換為 PySlice_Unpack() 和 PySlice_AdjustIndices() 的組合,其中
if (PySlice_GetIndicesEx(slice, length, &start, &stop, &step, &slicelength) < 0) {// return error}
會被替換為
if (PySlice_Unpack(slice, &start, &stop, &step) < 0) {// return error}slicelength = PySlice_AdjustIndices(length, &start, &stop, step);
在 3.2 版更改: 之前 slice 形參的形參類型是 PySliceObject*。
在 3.6.1 版更改: 如果 Py_LIMITED_API 未設(shè)置或設(shè)置為 0x03050400 與 0x03060000 之間的值(不包括邊界)或 0x03060100 或更大則 PySlice_GetIndicesEx() 會被實(shí)現(xiàn)為一個使用 PySlice_Unpack() 和 PySlice_AdjustIndices() 的宏。 參數(shù) start, stop 和 step 會被多被求值。
3.6.1 版后已移除: 如果 Py_LIMITED_API 設(shè)置為小于 0x03050400 或 0x03060000 與 0x03060100 之間的值(不包括邊界)則 PySlice_GetIndicesEx() 為已棄用的函數(shù)。
int PySlice_Unpack(PyObject *slice, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step)
Part of the Stable ABI since version 3.7.
從切片對象中將 start, stop 和 step 數(shù)據(jù)成員提取為 C 整數(shù)。 會靜默地將大于 PY_SSIZE_T_MAX 的值減小為 PY_SSIZE_T_MAX,靜默地將小于 PY_SSIZE_T_MIN 的 start 和 stop 值增大為 PY_SSIZE_T_MIN,并靜默地將小于 -PY_SSIZE_T_MAX 的 step 值增大為 -PY_SSIZE_T_MAX。
出錯時返回 -1,成功時返回 0。
3.6.1 新版功能.
Py_ssize_t PySlice_AdjustIndices(Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t step)
Part of the Stable ABI since version 3.7.
將 start/end 切片索引號根據(jù)指定的序列長度進(jìn)行調(diào)整。 超出范圍的索引號會以與普通切片一致的方式進(jìn)行剪切。
返回切片的長度。 此操作總是會成功。 不會調(diào)用 Python 代碼。
3.6.1 新版功能.
Ellipsis 對象
PyObject *Py_Ellipsis
Python 的 Ellipsis 對象。 該對象沒有任何方法。 它必須以與任何其他對象一樣的方式遵循引用計數(shù)。 它與 Py_None 一樣屬于單例對象。
當(dāng)前名稱:創(chuàng)新互聯(lián)Python教程:切片對象
瀏覽地址:http://www.dlmjj.cn/article/djhoedg.html


咨詢
建站咨詢
