日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)Python教程:CAPI的穩(wěn)定性

C API 的穩(wěn)定性

python 的 C 語(yǔ)言 API 包含于向下兼容政策 PEP 387 中。C API 會(huì)跟隨小版本的發(fā)布而發(fā)生變化(比如 3.9 到 3.10 的時(shí)候),不過(guò)大多數(shù)變化都是源代碼級(jí)兼容的,通常只會(huì)增加新的 API。已有 API 的修改或刪除,只有在廢止期過(guò)后或修復(fù)嚴(yán)重問(wèn)題時(shí)才會(huì)進(jìn)行。

成都一家集口碑和實(shí)力的網(wǎng)站建設(shè)服務(wù)商,擁有專(zhuān)業(yè)的企業(yè)建站團(tuán)隊(duì)和靠譜的建站技術(shù),十載企業(yè)及個(gè)人網(wǎng)站建設(shè)經(jīng)驗(yàn) ,為成都1000多家客戶(hù)提供網(wǎng)頁(yè)設(shè)計(jì)制作,網(wǎng)站開(kāi)發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營(yíng)銷(xiāo)型網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),同時(shí)也為不同行業(yè)的客戶(hù)提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選創(chuàng)新互聯(lián)建站。

CPython 的應(yīng)用二進(jìn)制接口(ABI)可以跨小版本實(shí)現(xiàn)前后兼容(只要以同樣方式編譯;參見(jiàn)下面的 平臺(tái)的考慮 )。因此,用 Python 3.10.0 編譯的代碼可以在 3.10.8 上運(yùn)行,反之亦然,但針對(duì) 3.9.x 和 3.10.x 則需分別進(jìn)行編譯。

帶下劃線(xiàn)前綴的是私有 API,如 _Py_InternalState,即便是補(bǔ)丁發(fā)布版本中也可能不加通知地進(jìn)行改動(dòng)。

應(yīng)用程序二進(jìn)制接口的穩(wěn)定版

Python 3.2 引入了 受限 API,Python 的 C API 的一個(gè)子集。 只使用受限 API 的擴(kuò)展可以被一次性編譯而適用于多個(gè) Python 版本。 受限 API 的內(nèi)容 如下所示。

為了實(shí)現(xiàn)這一點(diǎn),Python 提供了一個(gè) 穩(wěn)定 ABI: 一個(gè)將在各 Python 3.x 版本中保持兼容性的符號(hào)集合。 穩(wěn)定 ABI 包含了在受限 API 中暴露的符號(hào),但還包含其他符號(hào) – 例如,支持舊版受限 API 所需的函數(shù)。

(簡(jiǎn)單起見(jiàn),本文檔只討論了 擴(kuò)展,但受限 API 和穩(wěn)定 ABI 對(duì)于 API 的所有用法都同樣適用 – 例如,嵌入 Python 等。)

Py_LIMITED_API

請(qǐng)?jiān)诎?Python.h 之前定義這個(gè)宏以選擇只使用受限 API,并選擇受限 API 的版本。

Py_LIMITED_API 定義為對(duì)應(yīng)你的擴(kuò)展所支持的最低 Python 版本的 PY_VERSION_HEX 的值。 擴(kuò)展無(wú)需重編譯即可適用于從指定版本開(kāi)始的所有 Python 3 發(fā)布版,并可使用到該版本為止所引入的受限 API。

不直接使用 PY_VERSION_HEX 宏,而是礙編碼一個(gè)最小的次要版本(例如 0x030A0000 表示 Python 3.10)以便在使用未來(lái)的 Python 版本進(jìn)行編譯時(shí)保持穩(wěn)定。

你還可以將 Py_LIMITED_API 定義為 3。 其效果與 0x03020000 相同(即 Python 3.2,引入受限 API 的版本)。

在 Windows 上,使用穩(wěn)定 ABI 的擴(kuò)展應(yīng)當(dāng)被鏈接到 Python3.dll 而不是版本專(zhuān)屬的庫(kù)如 python39.dll。

在某些平臺(tái)上,Python 將查找并載入名稱(chēng)中帶有 abi3 標(biāo)簽的共享庫(kù)文件 (例如 mymodule.abi3.so)。 它不會(huì)檢查這樣的擴(kuò)展是否兼容穩(wěn)定 ABI。 使用方 (或其打包工具) 需要確保這一些,例如,基于 3.10+ 受限 API 編譯的擴(kuò)展不可被安裝于更低版本的 Python 中。

穩(wěn)定 ABI 中的所有函數(shù)都會(huì)作為 Python 的共享庫(kù)中的函數(shù)存在,而不僅是作為宏。 這使得它們可以在不使用 C 預(yù)處理器的語(yǔ)言中使用。

受限 API 的作用域和性能

受限 API 的目標(biāo)是允許使用在完整 C API 中可用的任何東西,但可能會(huì)有性能上的損失。

例如,雖然 PyList_GetItem() 是可用的,但其 “不安全的” 宏版本 PyList_GET_ITEM() 則是不可用的。 這個(gè)宏的運(yùn)行速度更快因?yàn)樗梢岳冒姹緦?zhuān)屬的列表對(duì)象實(shí)現(xiàn)細(xì)節(jié)。

在未定義 Py_LIMITED_API 的情況下,某些 C API 函數(shù)將由宏來(lái)執(zhí)行內(nèi)聯(lián)或替換。 定義 Py_LIMITED_API 會(huì)禁用這樣的內(nèi)聯(lián),允許提升 Python 的數(shù)據(jù)結(jié)構(gòu)穩(wěn)定性,但有可能降低性能。

通過(guò)省略 Py_LIMITED_API 定義,可以使基于版本專(zhuān)屬的 ABI 來(lái)編譯受限 API 擴(kuò)展成為可能。 這能提升其在相應(yīng) Python 版本上的性能,但也將限制其兼容性。 基于 Py_LIMITED_API 進(jìn)行編譯將產(chǎn)生一個(gè)可在版本專(zhuān)屬擴(kuò)展不可用的場(chǎng)合分發(fā)的擴(kuò)展 – 例如,針對(duì)即將發(fā)布的 Python 版本的預(yù)發(fā)布包。

受限 API 警示

請(qǐng)注意基于 Py_LIMITED_API 進(jìn)行編譯 不能 完全保證代碼兼容受限 API 或穩(wěn)定 ABI。 Py_LIMITED_API 僅涵蓋了定義,但是一個(gè) API 還包括其他因素,例如預(yù)期的語(yǔ)義等。

Py_LIMITED_API 不能處理的一個(gè)問(wèn)題是附帶在較低 Python 版本中無(wú)效的參數(shù)調(diào)用某個(gè)函數(shù)。 例如,考慮一個(gè)接受 NULL 作為參數(shù)的函數(shù)。 在 Python 3.9 中,NULL 現(xiàn)在會(huì)選擇一個(gè)默認(rèn)行為,但在 Python 3.8 中,該參數(shù)將被直接使用,導(dǎo)致一個(gè) NULL 引用被崩潰。 類(lèi)似的參數(shù)也適用于結(jié)構(gòu)體的字段。

另一個(gè)問(wèn)題是當(dāng)定義了 Py_LIMITED_API 時(shí)某些結(jié)構(gòu)體字段目前不會(huì)被隱藏,即使它們是受限 API 的一部分。

出于這些原因,我們建議用要支持的 所有 Python 小版本號(hào)來(lái)測(cè)試一個(gè)擴(kuò)展,并最好是用其中 最低 的版本來(lái)編譯它。

我們還建議查看所使用 API 的全部文檔以檢查其是否顯式指明為受限 API 的一部分。 即使定義了 Py_LIMITED_API,少數(shù)私有聲明還是會(huì)出于技術(shù)原因(或者甚至是作為程序缺陷在無(wú)意中)被暴露出來(lái)。

還要注意受限 API 并不必然是穩(wěn)定的:在 Python 3.8 上用 Py_LIMITED_API 編譯擴(kuò)展意味著該擴(kuò)展能在 Python 3.12 上運(yùn)行,但它將不一定能用 Python 3.12 編譯。 特別地,在穩(wěn)定 ABI 保持穩(wěn)定的情況下,部分受限 API 可能會(huì)被棄用并被移除。

平臺(tái)的考慮

ABI 的穩(wěn)定性不僅取決于 Python,還取決于所使用的編譯器、低層庫(kù)和編譯器選項(xiàng)。 對(duì)于穩(wěn)定 ABI 的目標(biāo)來(lái)說(shuō),這些細(xì)節(jié)定義了一個(gè) “平臺(tái)”。 它們通常會(huì)取決于 OS 類(lèi)型和處理器架構(gòu)。

確保在特定平臺(tái)上的所有 Python 版本都以不破壞穩(wěn)定 ABI 的方式構(gòu)建是每個(gè)特定 Python 分發(fā)方的責(zé)任。 來(lái)自 python.org 以及許多第三方分發(fā)商的 Windows 和 macOS 發(fā)布版都必于這種情況。

受限 API 的內(nèi)容

目前,受限 API 包括下面這些項(xiàng):

  • PyAIter_Check()

  • PyArg_Parse()

  • PyArg_ParseTuple()

  • PyArg_ParseTupleAndKeywords()

  • PyArg_UnpackTuple()

  • PyArg_VaParse()

  • PyArg_VaParseTupleAndKeywords()

  • PyArg_ValidateKeywordArguments()

  • PyBaseObject_Type

  • PyBool_FromLong()

  • PyBool_Type

  • PyBuffer_FillContiguousStrides()

  • PyBuffer_FillInfo()

  • PyBuffer_FromContiguous()

  • PyBuffer_GetPointer()

  • PyBuffer_IsContiguous()

  • PyBuffer_Release()

  • PyBuffer_SizeFromFormat()

  • PyBuffer_ToContiguous()

  • PyByteArrayIter_Type

  • PyByteArray_AsString()

  • PyByteArray_Concat()

  • PyByteArray_FromObject()

  • PyByteArray_FromStringAndSize()

  • PyByteArray_Resize()

  • PyByteArray_Size()

  • PyByteArray_Type

  • PyBytesIter_Type

  • PyBytes_AsString()

  • PyBytes_AsStringAndSize()

  • PyBytes_Concat()

  • PyBytes_ConcatAndDel()

  • PyBytes_DecodeEscape()

  • PyBytes_FromFormat()

  • PyBytes_FromFormatV()

  • PyBytes_FromObject()

  • PyBytes_FromString()

  • PyBytes_FromStringAndSize()

  • PyBytes_Repr()

  • PyBytes_Size()

  • PyBytes_Type

  • PyCFunction

  • PyCFunctionWithKeywords

  • PyCFunction_Call()

  • PyCFunction_GetFlags()

  • PyCFunction_GetFunction()

  • PyCFunction_GetSelf()

  • PyCFunction_New()

  • PyCFunction_NewEx()

  • PyCFunction_Type

  • PyCMethod_New()

  • PyCallIter_New()

  • PyCallIter_Type

  • PyCallable_Check()

  • PyCapsule_Destructor

  • PyCapsule_GetContext()

  • PyCapsule_GetDestructor()

  • PyCapsule_GetName()

  • PyCapsule_GetPointer()

  • PyCapsule_Import()

  • PyCapsule_IsValid()

  • PyCapsule_New()

  • PyCapsule_SetContext()

  • PyCapsule_SetDestructor()

  • PyCapsule_SetName()

  • PyCapsule_SetPointer()

  • PyCapsule_Type

  • PyClassMethodDescr_Type

  • PyCodec_BackslashReplaceErrors()

  • PyCodec_Decode()

  • PyCodec_Decoder()

  • PyCodec_Encode()

  • PyCodec_Encoder()

  • PyCodec_IgnoreErrors()

  • PyCodec_IncrementalDecoder()

  • PyCodec_IncrementalEncoder()

  • PyCodec_KnownEncoding()

  • PyCodec_LookupError()

  • PyCodec_NameReplaceErrors()

  • PyCodec_Register()

  • PyCodec_RegisterError()

  • PyCodec_ReplaceErrors()

  • PyCodec_StreamReader()

  • PyCodec_StreamWriter()

  • PyCodec_StrictErrors()

  • PyCodec_Unregister()

  • PyCodec_XMLCharRefReplaceErrors()

  • PyComplex_FromDoubles()

  • PyComplex_ImagAsDouble()

  • PyComplex_RealAsDouble()

  • PyComplex_Type

  • PyDescr_NewClassMethod()

  • PyDescr_NewGetSet()

  • PyDescr_NewMember()

  • PyDescr_NewMethod()

  • PyDictItems_Type

  • PyDictIterItem_Type

  • PyDictIterKey_Type

  • PyDictIterValue_Type

  • PyDictKeys_Type

  • PyDictProxy_New()

  • PyDictProxy_Type

  • PyDictRevIterItem_Type

  • PyDictRevIterKey_Type

  • PyDictRevIterValue_Type

  • PyDictValues_Type

  • PyDict_Clear()

  • PyDict_Contains()

  • PyDict_Copy()

  • PyDict_DelItem()

  • PyDict_DelItemString()

  • PyDict_GetItem()

  • PyDict_GetItemString()

  • PyDict_GetItemWithError()

  • PyDict_Items()

  • PyDict_Keys()

  • PyDict_Merge()

  • PyDict_MergeFromSeq2()

  • PyDict_New()

  • PyDict_Next()

  • PyDict_SetItem()

  • PyDict_SetItemString()

  • PyDict_Size()

  • PyDict_Type

  • PyDict_Update()

  • PyDict_Values()

  • PyEllipsis_Type

  • PyEnum_Type

  • PyErr_BadArgument()

  • PyErr_BadInternalCall()

  • PyErr_CheckSignals()

  • PyErr_Clear()

  • PyErr_Display()

  • PyErr_ExceptionMatches()

  • PyErr_Fetch()

  • PyErr_Format()

  • PyErr_FormatV()

  • PyErr_GetExcInfo()

  • PyErr_GetHandledException()

  • PyErr_GivenExceptionMatches()

  • PyErr_NewException()

  • PyErr_NewExceptionWithDoc()

  • PyErr_NoMemory()

  • PyErr_NormalizeException()

  • PyErr_Occurred()

  • PyErr_Print()

  • PyErr_PrintEx()

  • PyErr_ProgramText()

  • PyErr_ResourceWarning()

  • PyErr_Restore()

  • PyErr_SetExcFromWindowsErr()

  • PyErr_SetExcFromWindowsErrWithFilename()

  • PyErr_SetExcFromWindowsErrWithFilenameObject()

  • PyErr_SetExcFromWindowsErrWithFilenameObjects()

  • PyErr_SetExcInfo()

  • PyErr_SetFromErrno()

  • PyErr_SetFromErrnoWithFilename()

  • PyErr_SetFromErrnoWithFilenameObject()

  • PyErr_SetFromErrnoWithFilenameObjects()

  • PyErr_SetFromWindowsErr()

  • PyErr_SetFromWindowsErrWithFilename()

  • PyErr_SetHandledException()

  • PyErr_SetImportError()

  • PyErr_SetImportErrorSubclass()

  • PyErr_SetInterrupt()

  • PyErr_SetInterruptEx()

  • PyErr_SetNone()

  • PyErr_SetObject()

  • PyErr_SetString()

  • PyErr_SyntaxLocation()

  • PyErr_SyntaxLocationEx()

  • PyErr_WarnEx()

  • PyErr_WarnExplicit()

  • PyErr_WarnFormat()

  • PyErr_WriteUnraisable()

  • PyEval_AcquireLock()

  • PyEval_AcquireThread()

  • PyEval_CallFunction()

  • PyEval_CallMethod()

  • PyEval_CallObjectWithKeywords()

  • PyEval_EvalCode()

  • PyEval_EvalCodeEx()

  • PyEval_EvalFrame()

  • PyEval_EvalFrameEx()

  • PyEval_GetBuiltins()

  • PyEval_GetFrame()

  • PyEval_GetFuncDesc()

  • PyEval_GetFuncName()

  • PyEval_GetGlobals()

  • PyEval_GetLocals()

  • PyEval_InitThreads()

  • PyEval_ReleaseLock()

  • PyEval_ReleaseThread()

  • PyEval_RestoreThread()

  • PyEval_SaveThread()

  • PyEval_ThreadsInitialized()

  • PyExc_ArithmeticError

  • PyExc_AssertionError

  • PyExc_AttributeError

  • PyExc_BaseException

  • PyExc_BaseExceptionGroup

  • PyExc_BlockingIOError

  • PyExc_BrokenPipeError

  • PyExc_BufferError

  • PyExc_BytesWarning

  • PyExc_ChildProcessError

  • PyExc_ConnectionAbortedError

  • PyExc_ConnectionError

  • PyExc_ConnectionRefusedError

  • PyExc_ConnectionResetError

  • PyExc_DeprecationWarning

  • PyExc_EOFError

  • PyExc_EncodingWarning

  • PyExc_EnvironmentError

  • PyExc_Exception

  • PyExc_FileExistsError

  • PyExc_FileNotFoundError

  • PyExc_FloatingPointError

  • PyExc_FutureWarning

  • PyExc_GeneratorExit

  • PyExc_IOError

  • PyExc_ImportError

  • PyExc_ImportWarning

  • PyExc_IndentationError

  • PyExc_IndexError

  • PyExc_InterruptedError

  • PyExc_IsADirectoryError

  • PyExc_KeyError

  • PyExc_KeyboardInterrupt

  • PyExc_LookupError

  • PyExc_MemoryError

  • PyExc_ModuleNotFoundError

  • PyExc_NameError

  • PyExc_NotADirectoryError

  • PyExc_NotImplementedError

  • PyExc_OSError

  • PyExc_OverflowError

  • PyExc_PendingDeprecationWarning

  • PyExc_PermissionError

  • PyExc_ProcessLookupError

  • PyExc_RecursionError

  • PyExc_ReferenceError

  • PyExc_ResourceWarning

  • PyExc_RuntimeError

  • PyExc_RuntimeWarning

  • PyExc_StopAsyncIteration

  • PyExc_StopIteration

  • PyExc_SyntaxError

  • PyExc_SyntaxWarning

  • PyExc_SystemError

  • PyExc_SystemExit

  • PyExc_TabError

  • PyExc_TimeoutError

  • PyExc_TypeError

  • PyExc_UnboundLocalError

  • PyExc_UnicodeDecodeError

  • PyExc_UnicodeEncodeError

  • PyExc_UnicodeError

  • PyExc_UnicodeTranslateError

  • PyExc_UnicodeWarning

  • PyExc_UserWarning

  • PyExc_ValueError

  • PyExc_Warning

  • PyExc_WindowsError

  • PyExc_ZeroDivisionError

  • PyExceptionClass_Name()

  • PyException_GetCause()

  • PyException_GetContext()

  • PyException_GetTraceback()

  • PyException_SetCause()

  • PyException_SetContext()

  • PyException_SetTraceback()

  • PyFile_FromFd()

  • PyFile_GetLine()

  • PyFile_WriteObject()

  • PyFile_WriteString()

  • PyFilter_Type

  • PyFloat_AsDouble()

  • PyFloat_FromDouble()

  • PyFloat_FromString()

  • PyFloat_GetInfo()

  • PyFloat_GetMax()

  • PyFloat_GetMin()

  • PyFloat_Type

  • PyFrameObject

  • PyFrame_GetCode()

  • PyFrame_GetLineNumber()

  • PyFrozenSet_New()

  • PyFrozenSet_Type

  • PyGC_Collect()

  • PyGC_Disable()

  • PyGC_Enable()

  • PyGC_IsEnabled()

  • PyGILState_Ensure()

  • PyGILState_GetThisThreadState()

  • PyGILState_Release()

  • PyGILState_STATE

  • PyGetSetDef

  • PyGetSetDescr_Type

  • PyImport_AddModule()

  • PyImport_AddModuleObject()

  • PyImport_AppendInittab()

  • PyImport_ExecCodeModule()

  • PyImport_ExecCodeModuleEx()

  • PyImport_ExecCodeModuleObject()

  • PyImport_ExecCodeModuleWithPathnames()

  • PyImport_GetImporter()

  • PyImport_GetMagicNumber()

  • PyImport_GetMagicTag()

  • PyImport_GetModule()

  • PyImport_GetModuleDict()

  • PyImport_Import()

  • PyImport_ImportFrozenModule()

  • PyImport_ImportFrozenModuleObject()

  • PyImport_ImportModule()

  • PyImport_ImportModuleLevel()

  • PyImport_ImportModuleLevelObject()

  • PyImport_ImportModuleNoBlock()

  • PyImport_ReloadModule()

  • PyIndex_Check()

  • PyInterpreterState

  • PyInterpreterState_Clear()

  • PyInterpreterState_Delete()

  • PyInterpreterState_Get()

  • PyInterpreterState_GetDict()

  • PyInterpreterState_GetID()

  • PyInterpreterState_New()

  • PyIter_Check()

  • PyIter_Next()

  • PyIter_Send()

  • PyListIter_Type

  • PyListRevIter_Type

  • PyList_Append()

  • PyList_AsTuple()

  • PyList_GetItem()

  • PyList_GetSlice()

  • PyList_Insert()

  • PyList_New()

  • PyList_Reverse()

  • PyList_SetItem()

  • PyList_SetSlice()

  • PyList_Size()

  • PyList_Sort()

  • PyList_Type

  • PyLongObject

  • PyLongRangeIter_Type

  • PyLong_AsDouble()

  • PyLong_AsLong()

  • PyLong_AsLongAndOverflow()

  • PyLong_AsLongLong()

  • PyLong_AsLongLongAndOverflow()

  • PyLong_AsSize_t()

  • PyLong_AsSsize_t()

  • PyLong_AsUnsignedLong()

  • PyLong_AsUnsignedLongLong()

  • PyLong_AsUnsignedLongLongMask()

  • PyLong_AsUnsignedLongMask()

  • PyLong_AsVoidPtr()

  • PyLong_FromDouble()

  • PyLong_FromLong()

  • PyLong_FromLongLong()

  • PyLong_FromSize_t()

  • PyLong_FromSsize_t()

  • PyLong_FromString()

  • PyLong_FromUnsignedLong()

  • PyLong_FromUnsignedLongLong()

  • PyLong_FromVoidPtr()

  • PyLong_GetInfo()

  • PyLong_Type

  • PyMap_Type

  • PyMapping_Check()

  • PyMapping_GetItemString()

  • PyMapping_HasKey()

  • PyMapping_HasKeyString()

  • PyMapping_Items()

  • PyMapping_Keys()

  • PyMapping_Length()

  • PyMapping_SetItemString()

  • PyMapping_Size()

  • PyMapping_Values()

  • PyMem_Calloc()

  • PyMem_Free()

  • PyMem_Malloc()

  • PyMem_Realloc()

  • PyMemberDef

  • PyMemberDescr_Type

  • PyMemoryView_FromBuffer()

  • PyMemoryView_FromMemory()

  • PyMemoryView_FromObject()

  • PyMemoryView_GetContiguous()

  • PyMemoryView_Type

  • PyMethodDef

  • PyMethodDescr_Type

  • PyModuleDef

  • PyModuleDef_Base

  • PyModuleDef_Init()

  • PyModuleDef_Type

  • PyModule_AddFunctions()

  • PyModule_AddIntConstant()

  • PyModule_AddObject()

  • PyModule_AddObjectRef()

  • PyModule_AddStringConstant()

  • PyModule_AddType()

  • PyModule_Create2()

  • PyModule_ExecDef()

  • PyModule_FromDefAndSpec2()

  • PyModule_GetDef()

  • PyModule_GetDict()

  • PyModule_GetFilename()

  • PyModule_GetFilenameObject()

  • PyModule_GetName()

  • PyModule_GetNameObject()

  • PyModule_GetState()

  • PyModule_New()

  • PyModule_NewObject()

  • PyModule_SetDocString()

  • PyModule_Type

  • PyNumber_Absolute()

  • PyNumber_Add()

  • PyNumber_And()

  • PyNumber_AsSsize_t()

  • PyNumber_Check()

  • PyNumber_Divmod()

  • PyNumber_Float()

  • PyNumber_FloorDivide()

  • PyNumber_InPlaceAdd()

  • PyNumber_InPlaceAnd()

  • PyNumber_InPlaceFloorDivide()

  • PyNumber_InPlaceLshift()

  • PyNumber_InPlaceMatrixMultiply()

  • PyNumber_InPlaceMultiply()

  • PyNumber_InPlaceOr()

  • PyNumber_InPlacePower()

  • PyNumber_InPlaceRemainder()

  • PyNumber_InPlaceRshift()

  • PyNumber_InPlaceSubtract()

  • PyNumber_InPlaceTrueDivide()

  • PyNumber_InPlaceXor()

  • PyNumber_Index()

  • PyNumber_Invert()

  • PyNumber_Long()

  • PyNumber_Lshift()

  • PyNumber_MatrixMultiply()

  • PyNumber_Multiply()

  • PyNumber_Negative()

  • PyNumber_Or()

  • PyNumber_Positive()

  • PyNumber_Power()

  • PyNumber_Remainder()

  • PyNumber_Rshift()

  • PyNumber_Subtract()

  • PyNumber_ToBase()

  • PyNumber_TrueDivide()

  • PyNumber_Xor()

  • PyOS_AfterFork()

  • PyOS_AfterFork_Child()

  • PyOS_AfterFork_Parent()

  • PyOS_BeforeFork()

  • PyOS_CheckStack()

  • PyOS_FSPath()

  • PyOS_InputHook

  • PyOS_InterruptOccurred()

  • PyOS_double_to_string()

  • PyOS_getsig()

  • PyOS_mystricmp()

  • PyOS_mystrnicmp()

  • PyOS_setsig()

  • PyOS_sighandler_t

  • PyOS_snprintf()

  • PyOS_string_to_double()

  • PyOS_strtol()

  • PyOS_strtoul()

  • PyOS_vsnprintf()

  • PyObject

  • PyObject.ob_refcnt

  • PyObject.ob_type

  • PyObject_ASCII()

  • PyObject_AsCharBuffer()

  • PyObject_AsFileDescriptor()

  • PyObject_AsReadBuffer()

  • PyObject_AsWriteBuffer()

  • PyObject_Bytes()

  • PyObject_Call()

  • PyObject_CallFunction()

  • PyObject_CallFunctionObjArgs()

  • PyObject_CallMethod()

  • PyObject_CallMethodObjArgs()

  • PyObject_CallNoArgs()

  • PyObject_CallObject()

  • PyObject_Calloc()

  • PyObject_CheckBuffer()

  • PyObject_CheckReadBuffer()

  • PyObject_ClearWeakRefs()

  • PyObject_CopyData()

  • PyObject_DelItem()

  • PyObject_DelItemString()

  • PyObject_Dir()

  • PyObject_Format()

  • PyObject_Free()

  • PyObject_GC_Del()

  • PyObject_GC_IsFinalized()

  • PyObject_GC_IsTracked()

  • PyObject_GC_Track()

  • PyObject_GC_UnTrack()

  • PyObject_GenericGetAttr()

  • PyObject_GenericGetDict()

  • PyObject_GenericSetAttr()

  • PyObject_GenericSetDict()

  • PyObject_GetAIter()

  • PyObject_GetAttr()

  • PyObject_GetAttrString()

  • PyObject_GetBuffer()

  • PyObject_GetItem()

  • PyObject_GetIter()

  • PyObject_HasAttr()

  • PyObject_HasAttrString()

  • PyObject_Hash()

  • PyObject_HashNotImplemented()

  • PyObject_Init()

  • PyObject_InitVar()

  • PyObject_IsInstance()

  • PyObject_IsSubclass()

  • PyObject_IsTrue()

  • PyObject_Length()

  • PyObject_Malloc()

  • PyObject_Not()

  • PyObject_Realloc()

  • PyObject_Repr()

  • PyObject_RichCompare()

  • PyObject_RichCompareBool()

  • PyObject_SelfIter()

  • PyObject_SetAttr()

  • PyObject_SetAttrString()

  • PyObject_SetItem()

  • PyObject_Size()

  • PyObject_Str()

  • PyObject_Type()

  • PyProperty_Type

  • PyRangeIter_Type

  • PyRange_Type

  • PyReversed_Type

  • PySeqIter_New()

  • PySeqIter_Type

  • PySequence_Check()

  • PySequence_Concat()

  • PySequence_Contains()

  • PySequence_Count()

  • PySequence_DelItem()

  • PySequence_DelSlice()

  • PySequence_Fast()

  • PySequence_GetItem()

  • PySequence_GetSlice()

  • PySequence_In()

  • PySequence_InPlaceConcat()

  • PySequence_InPlaceRepeat()

  • PySequence_Index()

  • PySequence_Length()

  • PySequence_List()

  • PySequence_Repeat()

  • PySequence_SetItem()

  • PySequence_SetSlice()

  • PySequence_Size()

  • PySequence_Tuple()

  • PySetIter_Type

  • PySet_Add()

  • PySet_Clear()

  • PySet_Contains()

  • PySet_Discard()

  • PySet_New()

  • PySet_Pop()

  • PySet_Size()

  • PySet_Type

  • PySlice_AdjustIndices()

  • PySlice_GetIndices()

  • PySlice_GetIndicesEx()

  • PySlice_New()

  • PySlice_Type

  • PySlice_Unpack()

  • PyState_AddModule()

  • PyState_FindModule()

  • PyState_RemoveModule()

  • PyStructSequence_Desc

  • PyStructSequence_Field

  • PyStructSequence_GetItem()

  • PyStructSequence_New()

  • PyStructSequence_NewType()

  • PyStructSequence_SetItem()

  • PyStructSequence_UnnamedField

  • PySuper_Type

  • PySys_AddWarnOption()

  • PySys_AddWarnOptionUnicode()

  • PySys_AddXOption()

  • PySys_FormatStderr()

  • PySys_FormatStdout()

  • PySys_GetObject()

  • PySys_GetXOptions()

  • PySys_HasWarnOptions()

  • PySys_ResetWarnOptions()

  • PySys_SetArgv()

  • PySys_SetArgvEx()

  • PySys_SetObject()

  • PySys_SetPath()

  • PySys_WriteStderr()

  • PySys_WriteStdout()

  • PyThreadState

  • PyThreadState_Clear()

  • PyThreadState_Delete()

  • PyThreadState_Get()

  • PyThreadState_GetDict()

  • PyThreadState_GetFrame()

  • PyThreadState_GetID()

  • PyThreadState_GetInterpreter()

  • PyThreadState_New()

  • PyThreadState_SetAsyncExc()

  • PyThreadState_Swap()

  • PyThread_GetInfo()

  • PyThread_ReInitTLS()

  • PyThread_acquire_lock()

  • PyThread_acquire_lock_timed()

  • PyThread_allocate_lock()

  • PyThread_create_key()

  • PyThread_delete_key()

  • PyThread_delete_key_value()

  • PyThread_exit_thread()

  • PyThread_free_lock()

  • PyThread_get_key_value()

  • PyThread_get_stacksize()

  • PyThread_get_thread_ident()

  • PyThread_get_thread_native_id()

  • PyThread_init_thread()

  • PyThread_release_lock()

  • PyThread_set_key_value()

  • PyThread_set_stacksize()

  • PyThread_start_new_thread()

  • PyThread_tss_alloc()

  • PyThread_tss_create()

  • PyThread_tss_delete()

  • PyThread_tss_free()

  • PyThread_tss_get()

  • PyThread_tss_is_created()

  • PyThread_tss_set()

  • PyTraceBack_Here()

  • PyTraceBack_Print()

  • PyTraceBack_Type

  • PyTupleIter_Type

  • PyTuple_GetItem()

  • PyTuple_GetSlice()

  • PyTuple_New()

  • PyTuple_Pack()

  • PyTuple_SetItem()

  • PyTuple_Size()

  • PyTuple_Type

  • PyTypeObject

  • PyType_ClearCache()

  • PyType_FromModuleAndSpec()

  • PyType_FromSpec()

  • PyType_FromSpecWithBases()

  • PyType_GenericAlloc()

  • PyType_GenericNew()

  • PyType_GetFlags()

  • PyType_GetModule()

  • PyType_GetModuleState()

  • PyType_GetName()

  • PyType_GetQualName()

  • PyType_GetSlot()

  • PyType_IsSubtype()

  • PyType_Modified()

  • PyType_Ready()

  • PyType_Slot

  • PyType_Spec

  • PyType_Type

  • PyUnicodeDecodeError_Create()

  • PyUnicodeDecodeError_GetEncoding()

  • PyUnicodeDecodeError_GetEnd()

  • PyUnicodeDecodeError_GetObject()

  • PyUnicodeDecodeError_GetReason()

  • PyUnicodeDecodeError_GetStart()

  • PyUnicodeDecodeError_SetEnd()

  • PyUnicodeDecodeError_SetReason()

  • PyUnicodeDecodeError_SetStart()

  • PyUnicodeEncodeError_GetEncoding()

  • PyUnicodeEncodeError_GetEnd()

  • PyUnicodeEncodeError_GetObject()

  • PyUnicodeEncodeError_GetReason()

  • PyUnicodeEncodeError_GetStart()

  • PyUnicodeEncodeError_SetEnd()

  • PyUnicodeEncodeError_SetReason()

  • PyUnicodeEncodeError_SetStart()

  • PyUnicodeIter_Type

  • PyUnicodeTranslateError_GetEnd()

  • PyUnicodeTranslateError_GetObject()

  • PyUnicodeTranslateError_GetReason()

  • PyUnicodeTranslateError_GetStart()

  • PyUnicodeTranslateError_SetEnd()

  • PyUnicodeTranslateError_SetReason()

  • PyUnicodeTranslateError_SetStart()

  • PyUnicode_Append()

  • PyUnicode_AppendAndDel()

  • PyUnicode_AsASCIIString()

  • PyUnicode_AsCharmapString()

  • PyUnicode_AsDecodedObject()

  • PyUnicode_AsDecodedUnicode()

  • PyUnicode_AsEncodedObject()

  • PyUnicode_AsEncodedString()

  • PyUnicode_AsEncodedUnicode()

  • PyUnicode_AsLatin1String()

  • PyUnicode_AsMBCSString()

  • PyUnicode_AsRawUnicodeEscapeString()

  • PyUnicode_AsUCS4()

  • PyUnicode_AsUCS4Copy()

  • PyUnicode_AsUTF16String()

  • PyUnicode_AsUTF32String()

  • PyUnicode_AsUTF8AndSize()

  • PyUnicode_AsUTF8String()

  • PyUnicode_AsUnicodeEscapeString()

  • PyUnicode_AsWideChar()

  • PyUnicode_AsWideCharString()

  • PyUnicode_BuildEncodingMap()

  • PyUnicode_Compare()

  • PyUnicode_CompareWithASCIIString()

  • PyUnicode_Concat()

  • PyUnicode_Contains()

  • PyUnicode_Count()

  • PyUnicode_Decode()

  • PyUnicode_DecodeASCII()

  • PyUnicode_DecodeCharmap()

  • PyUnicode_DecodeCodePageStateful()

  • PyUnicode_DecodeFSDefault()

  • PyUnicode_DecodeFSDefaultAndSize()

  • PyUnicode_DecodeLatin1()

  • PyUnicode_DecodeLocale()

  • PyUnicode_DecodeLocaleAndSize()

  • PyUnicode_DecodeMBCS()

  • PyUnicode_DecodeMBCSStateful()

  • PyUnicode_DecodeRawUnicodeEscape()

  • PyUnicode_DecodeUTF16()

  • PyUnicode_DecodeUTF16Stateful()

  • PyUnicode_DecodeUTF32()

  • PyUnicode_DecodeUTF32Stateful()

  • PyUnicode_DecodeUTF7()

  • PyUnicode_DecodeUTF7Stateful()

  • PyUnicode_DecodeUTF8()

  • PyUnicode_DecodeUTF8Stateful()

  • PyUnicode_DecodeUnicodeEscape()

  • PyUnicode_EncodeCodePage()

  • PyUnicode_EncodeFSDefault()

  • PyUnicode_EncodeLocale()

  • PyUnicode_FSConverter()

  • PyUnicode_FSDecoder()

  • PyUnicode_Find()

  • PyUnicode_FindChar()

  • PyUnicode_Format()

  • PyUnicode_FromEncodedObject()

  • PyUnicode_FromFormat()

  • PyUnicode_FromFormatV()

  • PyUnicode_FromObject()

  • PyUnicode_FromOrdinal()

  • PyUnicode_FromString()

  • PyUnicode_FromStringAndSize()

  • PyUnicode_FromWideChar()

  • PyUnicode_GetDefaultEncoding()

  • PyUnicode_GetLength()

  • PyUnicode_GetSize()

  • PyUnicode_InternFromString()

  • PyUnicode_InternImmortal()

  • PyUnicode_InternInPlace()

  • PyUnicode_IsIdentifier()

  • PyUnicode_Join()

  • PyUnicode_Partition()

  • PyUnicode_RPartition()

  • PyUnicode_RSplit()

  • PyUnicode_ReadChar()

  • PyUnicode_Replace()

  • PyUnicode_Resize()

  • PyUnicode_RichCompare()

  • PyUnicode_Split()

  • PyUnicode_Splitlines()

  • PyUnicode_Substring()

  • PyUnicode_Tailmatch()

  • PyUnicode_Translate()

  • PyUnicode_Type

  • PyUnicode_WriteChar()

  • PyVarObject

  • PyVarObject.ob_base

  • PyVarObject.ob_size

  • PyWeakReference

  • PyWeakref_GetObject()

  • PyWeakref_NewProxy()

  • PyWeakref_NewRef()

  • PyWrapperDescr_Type

  • PyWrapper_New()

  • PyZip_Type

  • Py_AddPendingCall()

  • Py_AtExit()

  • Py_BEGIN_ALLOW_THREADS

  • Py_BLOCK_THREADS

  • Py_BuildValue()

  • Py_BytesMain()

  • Py_CompileString()

  • Py_DecRef()

  • Py_DecodeLocale()

  • Py_END_ALLOW_THREADS

  • Py_EncodeLocale()

  • Py_EndInterpreter()

  • Py_EnterRecursiveCall()

  • Py_Exit()

  • Py_FatalError()

  • Py_FileSystemDefaultEncodeErrors

  • Py_FileSystemDefaultEncoding

  • Py_Finalize()

  • Py_FinalizeEx()

  • Py_GenericAlias()

  • Py_GenericAliasType

  • Py_GetBuildInfo()

  • Py_GetCompiler()

  • Py_GetCopyright()

  • Py_GetExecPrefix()

  • Py_GetPath()

  • Py_GetPlatform()

  • Py_GetPrefix()

  • Py_GetProgramFullPath()

  • Py_GetProgramName()

  • Py_GetPythonHome()

  • Py_GetRecursionLimit()

  • Py_GetVersion()

  • Py_HasFileSystemDefaultEncoding

  • Py_IncRef()

  • Py_Initialize()

  • Py_InitializeEx()

  • Py_Is()

  • Py_IsFalse()

  • Py_IsInitialized()

  • Py_IsNone()

  • Py_IsTrue()

  • Py_LeaveRecursiveCall()

  • Py_Main()

  • Py_MakePendingCalls()

  • Py_NewInterpreter()

  • Py_NewRef()

  • Py_ReprEnter()

  • Py_ReprLeave()

  • Py_SetPath()

  • Py_SetProgramName()

  • Py_SetPythonHome()

  • Py_SetRecursionLimit()

  • Py_UCS4

  • Py_UNBLOCK_THREADS

  • Py_UTF8Mode

  • Py_VaBuildValue()

  • Py_Version

  • Py_XNewRef()

  • Py_buffer

  • Py_intptr_t

  • Py_ssize_t

  • Py_uintptr_t

  • allocfunc

  • binaryfunc

  • descrgetfunc

  • descrsetfunc

  • destructor

  • getattrfunc

  • getattrofunc

  • getiterfunc

  • getter

  • hashfunc

  • initproc

  • inquiry

  • iternextfunc

  • lenfunc

  • newfunc

  • objobjargproc

  • objobjproc

  • reprfunc

  • richcmpfunc

  • setattrfunc

  • setattrofunc

  • setter

  • ssizeargfunc

  • ssizeobjargproc

  • ssizessizeargfunc

  • ssizessizeobjargproc

  • symtable

  • ternaryfunc

  • traverseproc

  • unaryfunc

  • visitproc


文章名稱(chēng):創(chuàng)新互聯(lián)Python教程:CAPI的穩(wěn)定性
URL鏈接:http://www.dlmjj.cn/article/djioihp.html