형 객체

PyTypeObject

내장형을 기술하는 데 사용되는 객체의 C 구조체.

PyObject* PyType_Type

이것은 형 객체의 형 객체입니다; 파이썬 계층의 type과 같은 객체입니다.

int PyType_Check(PyObject *o)

객체 o가 표준형 객체에서 파생된 형의 인스턴스를 포함하여 형 객체면 참을 반환합니다. 다른 모든 경우 거짓을 반환합니다.

int PyType_CheckExact(PyObject *o)

객체 o가 형 객체이지만, 표준형 객체의 서브 형이 아니면 참을 반환합니다. 다른 모든 경우 거짓을 반환합니다.

unsigned int PyType_ClearCache()

내부 조회 캐시를 지웁니다. 현재의 버전 태그를 반환합니다.

unsigned long PyType_GetFlags(PyTypeObject* type)

typetp_flags 멤버를 반환합니다. 이 함수는 주로 Py_LIMITED_API와 함께 사용하기 위한 것입니다; 개별 플래그 비트는 파이썬 배포 간에 안정적인 것으로 보장되지만, tp_flags 자체에 대한 액세스는 제한된 API 일부가 아닙니다.

버전 3.2에 추가.

버전 3.4에서 변경: 반환형은 이제 long이 아니라 unsigned long입니다.

void PyType_Modified(PyTypeObject *type)

형과 그것의 모든 서브 형에 대한 내부 검색 캐시를 무효로 합니다. 형의 어트리뷰트나 베이스 클래스를 수동으로 수정한 후에는 이 함수를 호출해야 합니다.

int PyType_HasFeature(PyTypeObject *o, int feature)

형 객체 o가 기능 feature를 설정하면 참을 반환합니다. 형 기능은 단일 비트 플래그로 표시됩니다.

int PyType_IS_GC(PyTypeObject *o)

형 객체가 순환 검출기에 대한 지원을 포함하고 있으면 참을 반환합니다. 이것은 형 플래그 Py_TPFLAGS_HAVE_GC를 검사합니다.

int PyType_IsSubtype(PyTypeObject *a, PyTypeObject *b)

ab의 서브 형이면 참을 반환합니다.

이 함수는 실제 서브 형만 검사합니다. 즉, __subclasscheck__()b에 대해 호출되지 않습니다. issubclass()가 수행하는 것과 같은 검사를 하려면 PyObject_IsSubclass()를 호출하십시오.

PyObject* PyType_GenericAlloc(PyTypeObject *type, Py_ssize_t nitems)
Return value: New reference.

Generic handler for the tp_alloc slot of a type object. Use Python’s default memory allocation mechanism to allocate a new instance and initialize all its contents to NULL.

PyObject* PyType_GenericNew(PyTypeObject *type, PyObject *args, PyObject *kwds)
Return value: New reference.

형 객체의 tp_new 슬롯을 위한 일반 처리기. 형의 tp_alloc 슬롯을 사용하여 새 인스턴스를 만듭니다.

int PyType_Ready(PyTypeObject *type)

형 개체를 마무리합니다. 초기화를 완료하려면 모든 형 객체에 대해 이 메서드를 호출해야 합니다. 이 함수는 형의 베이스 클래스에서 상속된 슬롯을 추가합니다. 성공 시 0을 반환하고, 오류 시 -1을 반환하고 예외를 설정합니다.

PyObject* PyType_FromSpec(PyType_Spec *spec)
Return value: New reference.

함수에 전달된 spec으로 힙 형 객체를 만들고 반환합니다.

PyObject* PyType_FromSpecWithBases(PyType_Spec *spec, PyObject *bases)
Return value: New reference.

spec으로 힙 형 객체를 만들고 반환합니다. 이 외에도, 생성된 힙 형에는 bases 튜플에 포함된 모든 형이 베이스형으로 포함됩니다. 이를 통해 호출자는 다른 힙 형을 베이스형으로 참조할 수 있습니다.

버전 3.3에 추가.

void* PyType_GetSlot(PyTypeObject *type, int slot)

Return the function pointer stored in the given slot. If the result is NULL, this indicates that either the slot is NULL, or that the function was called with invalid parameters. Callers will typically cast the result pointer into the appropriate function type.

버전 3.4에 추가.