掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
type PyTupleObject

成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團成都企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。核心團隊均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗,服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:輕質(zhì)隔墻板等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗,同時也獲得了客戶的一致稱揚!
這個 PyObject 的子類型代表一個 python 的元組對象。
PyTypeObject PyTuple_Type
Part of the Stable ABI.
PyTypeObject 的實例代表一個 Python 元組類型,這與 Python 層面的 tuple 是相同的對象。
int PyTuple_Check(PyObject *p)
如果 p 是一個 tuple 對象或者 tuple 類型的子類型的實例則返回真值。 此函數(shù)總是會成功執(zhí)行。
int PyTuple_CheckExact(PyObject *p)
如果 p 是一個 tuple 對象但不是 tuple 類型的子類型的實例則返回真值。 此函數(shù)總是會成功執(zhí)行。
PyObject *PyTuple_New(Py_ssize_t len)
Return value: New reference. Part of the Stable ABI.
成功時返回一個新的元組對象,長度為 len,失敗時返回``NULL``。
PyObject *PyTuple_Pack(Py_ssize_t n, …)
Return value: New reference. Part of the Stable ABI.
成功時返回一個新的元組對象,大小為 n ,失敗時返回 NULL。 元組值初始化為指向 Python 對象的后續(xù) n 個 C 參數(shù)。 PyTuple_Pack(2, a, b) 和 Py_BuildValue("(OO)", a, b) 相等。
Py_ssize_t PyTuple_Size(PyObject *p)
Part of the Stable ABI.
獲取指向元組對象的指針,并返回該元組的大小。
Py_ssize_t PyTuple_GET_SIZE(PyObject *p)
返回元組 p 的大小,它必須為非 NULL 并且指向一個元組;不執(zhí)行錯誤檢查。
PyObject *PyTuple_GetItem(PyObject *p, Py_ssize_t pos)
Return value: Borrowed reference. Part of the Stable ABI.
返回 p 所指向的元組中位于 pos 處的對象。 如果 pos 為負(fù)值或超出范圍,則返回 NULL 并設(shè)置一個 IndexError 異常。
PyObject *PyTuple_GET_ITEM(PyObject *p, Py_ssize_t pos)
Return value: Borrowed reference.
類似于 PyTuple_GetItem(),但不檢查其參數(shù)。
PyObject *PyTuple_GetSlice(PyObject *p, Py_ssize_t low, Py_ssize_t high)
Return value: New reference. Part of the Stable ABI.
返回 p 所指向的元組的切片,在 low 和 high 之間,或者在失敗時返回 NULL。 這等同于 Python 表達式 p[low:high]。 不支持從列表末尾索引。
int PyTuple_SetItem(PyObject *p, Py_ssize_t pos, PyObject *o)
Part of the Stable ABI.
在 p 指向的元組的 pos 位置插入對對象 o 的引用。 成功時返回 0;如果 pos 越界,則返回 -1,并拋出一個 IndexError 異常。
備注
此函數(shù)會“竊取”對 o 的引用,并丟棄對元組中已在受影響位置的條目的引用。
void PyTuple_SET_ITEM(PyObject *p, Py_ssize_t pos, PyObject *o)
類似于 PyTuple_SetItem(),但不進行錯誤檢查,并且應(yīng)該 只是 被用來填充全新的元組。
備注
This function “steals” a reference to o, and, unlike PyTuple_SetItem(), does not discard a reference to any item that is being replaced; any reference in the tuple at position pos will be leaked.
int _PyTuple_Resize(PyObject **p, Py_ssize_t newsize)
可以用于調(diào)整元組的大小。 newsize 將是元組的新長度。 因為元組 被認(rèn)為 是不可變的,所以只有在對象僅有一個引用時,才應(yīng)該使用它。 如果元組已經(jīng)被代碼的其他部分所引用,請不要使用此項。 元組在最后總是會增長或縮小。 把它看作是銷毀舊元組并創(chuàng)建一個新元組,只會更有效。 成功時返回 0 。 客戶端代碼不應(yīng)假定 *p 的結(jié)果值將與調(diào)用此函數(shù)之前的值相同。 如果替換了 *p 引用的對象,則原始的 *p 將被銷毀。 失敗時,返回``-1``,將 *p 設(shè)置為 NULL,并引發(fā) MemoryError 或者 SystemError。
結(jié)構(gòu)序列對象是等價于 namedtuple() 的 C 對象,即一個序列,其中的條目也可以通過屬性訪問。 要創(chuàng)建結(jié)構(gòu)序列,你首先必須創(chuàng)建特定的結(jié)構(gòu)序列類型。
PyTypeObject *PyStructSequence_NewType(PyStructSequence_Desc *desc)
Return value: New reference. Part of the Stable ABI.
根據(jù) desc 中的數(shù)據(jù)創(chuàng)建一個新的結(jié)構(gòu)序列類型,如下所述。 可以使用 PyStructSequence_New() 創(chuàng)建結(jié)果類型的實例。
void PyStructSequence_InitType(PyTypeObject *type, PyStructSequence_Desc *desc)
從 desc 就地初始化結(jié)構(gòu)序列類型 type。
int PyStructSequence_InitType2(PyTypeObject *type, PyStructSequence_Desc *desc)
與 PyStructSequence_InitType 相同,但成功時返回 0 ,失敗時返回 -1 。
3.4 新版功能.
type PyStructSequence_Desc
Part of the Stable ABI (including all members).
包含要創(chuàng)建的結(jié)構(gòu)序列類型的元信息。
|
域 |
C 類型 |
含意 |
|---|---|---|
type PyStructSequence_Field
Part of the Stable ABI (including all members).
Describes a field of a struct sequence. As a struct sequence is modeled as a tuple, all fields are typed as PyObject*. The index in the fields array of the PyStructSequence_Desc determines which field of the struct sequence is described.
|
域 |
C 類型 |
含意 |
|---|---|---|
const char *const PyStructSequence_UnnamedField
Part of the Stable ABI since version 3.11.
字段名的特殊值將保持未命名狀態(tài)。
在 3.9 版更改: 這個類型已從 char * 更改。
PyObject *PyStructSequence_New(PyTypeObject *type)
Return value: New reference. Part of the Stable ABI.
創(chuàng)建 type 的實例,該實例必須使用 PyStructSequence_NewType() 創(chuàng)建。
PyObject *PyStructSequence_GetItem(PyObject *p, Py_ssize_t pos)
Return value: Borrowed reference. Part of the Stable ABI.
返回 p 所指向的結(jié)構(gòu)序列中,位于 pos 處的對象。不需要進行邊界檢查。
PyObject *PyStructSequence_GET_ITEM(PyObject *p, Py_ssize_t pos)
Return value: Borrowed reference.
PyStructSequence_GetItem() 的宏版本。
void PyStructSequence_SetItem(PyObject *p, Py_ssize_t pos, PyObject *o)
Part of the Stable ABI.
將結(jié)構(gòu)序列 p 的索引 pos 處的字段設(shè)置為值 o。 與 PyTuple_SET_ITEM() 一樣,它應(yīng)該只用于填充全新的實例。
備注
這個函數(shù)“竊取”了指向 o 的一個引用。
void PyStructSequence_SET_ITEM(PyObject *p, Py_ssize_t *pos, PyObject *o)
Similar to PyStructSequence_SetItem(), but implemented as a static inlined function.
備注
這個函數(shù)“竊取”了指向 o 的一個引用。

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流