컨텍스트 변수 객체¶
참고
버전 3.7.1에서 변경:파이썬 3.7.1에서 모든 컨텍스트 변수 C API의 서명이 PyContext
, PyContextVar
및 PyContextToken
대신 PyObject
포인터를 사용하도록 변경되었습니다, 예를 들어:
// in 3.7.0:
PyContext *PyContext_New(void);
// in 3.7.1+:
PyObject *PyContext_New(void);
자세한 내용은 bpo-34762를 참조하십시오.
버전 3.7에 추가.
이 절에서는 contextvars
모듈을 위한 공용 C API에 대해 자세히 설명합니다.
-
PyContext
¶ contextvars.Context
객체를 나타내는 데 사용되는 C 구조체.
-
PyContextVar
¶ contextvars.ContextVar
객체를 나타내는 데 사용되는 C 구조체.
-
PyContextToken
¶ contextvars.Token
객체를 나타내는 데 사용되는 C 구조체.
-
PyTypeObject
PyContext_Type
¶ context 형을 나타내는 형 객체.
-
PyTypeObject
PyContextVar_Type
¶ 컨텍스트 변수 형을 나타내는 형 객체.
-
PyTypeObject
PyContextToken_Type
¶ 컨텍스트 변수 토큰 형을 나타내는 형 객체.
형 검사 매크로:
-
int
PyContext_CheckExact
(PyObject *o)¶ o가
PyContext_Type
형이면 참을 돌려줍니다. o는NULL
이 아니어야 합니다. 이 함수는 항상 성공합니다.
-
int
PyContextVar_CheckExact
(PyObject *o)¶ o가
PyContextVar_Type
형이면 참을 돌려줍니다. o는NULL
이 아니어야 합니다. 이 함수는 항상 성공합니다.
-
int
PyContextToken_CheckExact
(PyObject *o)¶ o가
PyContextToken_Type
형이면 참을 돌려줍니다. o는NULL
이 아니어야 합니다. 이 함수는 항상 성공합니다.
컨텍스트 객체 관리 함수:
-
PyObject *
PyContext_New
(void)¶ - Return value: New reference.
새로운 빈 컨텍스트 객체를 만듭니다. 에러가 발생하면
NULL
를 반환합니다.
-
PyObject *
PyContext_Copy
(PyObject *ctx)¶ - Return value: New reference.
전달된 ctx 컨텍스트 객체의 얕은 복사본을 만듭니다. 에러가 발생하면
NULL
을 반환합니다.
-
PyObject *
PyContext_CopyCurrent
(void)¶ - Return value: New reference.
현재 스레드 컨텍스트의 얕은 복사본을 만듭니다. 에러가 발생하면
NULL
을 반환합니다.
-
int
PyContext_Exit
(PyObject *ctx)¶ ctx 컨텍스트를 비활성화하고 이전 컨텍스트를 현재 스레드의 현재 컨텍스트로 복원합니다. 성공 시
0
을 반환하고, 에러 시-1
을 반환합니다.
컨텍스트 변수 함수:
-
PyObject *
PyContextVar_New
(const char *name, PyObject *def)¶ - Return value: New reference.
Create a new
ContextVar
object. The name parameter is used for introspection and debug purposes. The def parameter specifies a default value for the context variable, orNULL
for no default. If an error has occurred, this function returnsNULL
.
-
int
PyContextVar_Get
(PyObject *var, PyObject *default_value, PyObject **value)¶ 컨텍스트 변수의 값을 가져옵니다. 조회하는 동안 에러가 발생하면
-1
을 반환하고, 값이 있는지와 상관없이 에러가 발생하지 않으면0
을 반환합니다.컨텍스트 변수가 발견되면, value는 그것을 가리키는 포인터가 됩니다. 컨텍스트 변수가 발견되지 않으면, value는 다음을 가리 킵니다:
default_value,
NULL
이 아니면;var의 기본값,
NULL
이 아니면;NULL
Except for
NULL
, the function returns a new reference.
-
PyObject *
PyContextVar_Set
(PyObject *var, PyObject *value)¶ - Return value: New reference.
Set the value of var to value in the current context. Returns a new token object for this change, or
NULL
if an error has occurred.
-
int
PyContextVar_Reset
(PyObject *var, PyObject *token)¶ var 컨텍스트 변수의 상태를 token을 반환한
PyContextVar_Set()
호출 전의 상태로 재설정합니다. 이 함수는 성공 시0
을 반환하고, 에러 시-1
을 반환합니다.