新聞中心
上下文變量對(duì)象
在 3.7.1 版更改:

成都創(chuàng)新互聯(lián)專(zhuān)注于張家口企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站定制開(kāi)發(fā)。張家口網(wǎng)站建設(shè)公司,為張家口等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站建設(shè),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
備注
在 python 3.7.1 中,所有上下文變量 C API 的簽名被 更改 為使用 PyObject 指針而不是 PyContext, PyContextVar 以及 PyContextToken,例如:
// in 3.7.0:PyContext *PyContext_New(void);// in 3.7.1+:PyObject *PyContext_New(void);
請(qǐng)參閱 bpo-34762 了解詳情。
3.7 新版功能.
本節(jié)深入介紹了 contextvars 模塊的公用 C API。
type PyContext
用于表示 contextvars.Context 對(duì)象的 C 結(jié)構(gòu)體。
type PyContextVar
用于表示 contextvars.ContextVar 對(duì)象的 C 結(jié)構(gòu)體。
type PyContextToken
用于表示 contextvars.Token 對(duì)象的 C 結(jié)構(gòu)體。
PyTypeObject PyContext_Type
表示 context 類(lèi)型的類(lèi)型對(duì)象。
PyTypeObject PyContextVar_Type
表示 context variable 類(lèi)型的類(lèi)型對(duì)象。
PyTypeObject PyContextToken_Type
表示 context variable token 類(lèi)型的類(lèi)型對(duì)象。
類(lèi)型檢查宏:
int PyContext_CheckExact(PyObject *o)
如果 o 的類(lèi)型為 PyContext_Type 則返回真值。 o 必須不為 NULL。 此函數(shù)總是會(huì)成功執(zhí)行。
int PyContextVar_CheckExact(PyObject *o)
如果 o 的類(lèi)型為 PyContextVar_Type 則返回真值。 o 必須不為 NULL。 此函數(shù)總是會(huì)成功執(zhí)行。
int PyContextToken_CheckExact(PyObject *o)
如果 o 的類(lèi)型為 PyContextToken_Type 則返回真值。 o 必須不為 NULL。 此函數(shù)總是會(huì)成功執(zhí)行。
上下文對(duì)象管理函數(shù):
PyObject *PyContext_New(void)
Return value: New reference.
創(chuàng)建一個(gè)新的空上下文對(duì)象。 如果發(fā)生錯(cuò)誤則返回 NULL。
PyObject *PyContext_Copy(PyObject *ctx)
Return value: New reference.
創(chuàng)建所傳入的 ctx 上下文對(duì)象的淺拷貝。 如果發(fā)生錯(cuò)誤則返回 NULL。
PyObject *PyContext_CopyCurrent(void)
Return value: New reference.
創(chuàng)建當(dāng)前線程上下文的淺拷貝。 如果發(fā)生錯(cuò)誤則返回 NULL。
int PyContext_Enter(PyObject *ctx)
將 ctx 設(shè)為當(dāng)前線程的當(dāng)前上下文。 成功時(shí)返回 0,出錯(cuò)時(shí)返回 -1。
int PyContext_Exit(PyObject *ctx)
取消激活 ctx 上下文并將之前的上下文恢復(fù)為當(dāng)前線程的當(dāng)前上下文。 成功時(shí)返回 0,出錯(cuò)時(shí)返回 -1。
上下文變量函數(shù):
PyObject *PyContextVar_New(const char *name, PyObject *def)
Return value: New reference.
創(chuàng)建一個(gè)新的 ContextVar 對(duì)象。 形參 name 用于自我檢查和調(diào)試目的。 形參 def 為上下文變量指定默認(rèn)值,或?yàn)?NULL 表示無(wú)默認(rèn)值。 如果發(fā)生錯(cuò)誤,這個(gè)函數(shù)會(huì)返回 NULL。
int PyContextVar_Get(PyObject *var, PyObject *default_value, PyObject **value)
獲取上下文變量的值。如果在查找過(guò)程中發(fā)生錯(cuò)誤,返回’ ‘ -1 ‘ ‘,如果沒(méi)有發(fā)生錯(cuò)誤,無(wú)論是否找到值,都返回’ ‘ 0 ‘ ‘,
如果找到上下文變量,value 將是指向它的指針。 如果上下文變量 沒(méi)有 找到,value 將指向:
-
default_value,如果非``NULL``;
-
var 的默認(rèn)值,如果不是
NULL; -
NULL
除了返回 NULL,這個(gè)函數(shù)會(huì)返回一個(gè)新的引用。
PyObject *PyContextVar_Set(PyObject *var, PyObject *value)
Return value: New reference.
在當(dāng)前上下文中將 var 設(shè)為 value。 返回針對(duì)此修改的新憑據(jù)對(duì)象,或者如果發(fā)生錯(cuò)誤則返回 NULL。
int PyContextVar_Reset(PyObject *var, PyObject *token)
將上下文變量 var 的狀態(tài)重置為它在返回 token 的 PyContextVar_Set() 被調(diào)用之前的狀態(tài)。 此函數(shù)成功時(shí)返回 0,出錯(cuò)時(shí)返回 -1。
網(wǎng)站欄目:創(chuàng)新互聯(lián)Python教程:上下文變量對(duì)象
文章轉(zhuǎn)載:http://www.5511xx.com/article/djgpcsi.html


咨詢(xún)
建站咨詢(xún)
