《教程 Python c-api》由会员分享,可在线阅读,更多相关《教程 Python c-api(166页珍藏版)》请在金锄头文库上搜索。
1、The Python/C APIRelease 2.6.5Guido van Rossum Fred L. Drake, Jr., editorApril 25, 2010Python Software Foundation Email: docspython.orgCONTENTS1Introduction3 1.1Include Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 1.2Objects, Types and Reference Cou
2、nts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 1.3Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 1.4Embedding Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 1.5Debugging Builds
3、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92The Very High Level Layer113Reference Counting154Exception Handling17 4.1Recursion Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 4.2Standard Exceptions . . . . . . . .
4、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 4.3Deprecation of String Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225Utilities23 5.1Operating System Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 5.2Sy
5、stem Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 5.3Process Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24 5.4Importing Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6、 . . . . . . . .24 5.5Data marshalling support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 5.6Parsing arguments and building values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 5.7String conversion and formatting. . . . . . . . . . . . . . . . .
7、. . . . . . . . . . . . . . . . .34 5.8Reflection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .356Abstract Objects Layer37 6.1Object Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 6.2Number Protocol .
8、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 6.3Sequence Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44 6.4Mapping Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 6
9、.5Iterator Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47 6.6Old Buffer Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .487Concrete Objects Layer49 7.1Fundamental Objects . . . . . . . . . . . . . . . . . . . .
10、 . . . . . . . . . . . . . . . . . . . . .49 7.2Numeric Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 7.3Sequence Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 7.4Mapping Objects . . . . . . . . . . .
11、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76 7.5Other Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .788Initialization, Finalization, and Threads91 8.1Thread State and the Global Interpreter Lock . . . . . . . . . . . . . . . .
12、. . . . . . . . . . . .94 8.2Profiling and Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98i8.3Advanced Debugger Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1009Memory Management101 9.1Overview . . . . . . . . . . . . .
13、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 9.2Memory Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 9.3Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10210 Object I
14、mplementation Support105 10.1Allocating Objects on the Heap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 10.2Common Object Structures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 10.3Type Objects . . . . . . . . . . . . . . . . . . . . . .
15、 . . . . . . . . . . . . . . . . . . . . . . . 109 10.4Number Object Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 10.5Mapping Object Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 10.6Sequence Object Structures
16、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 10.7Buffer Object Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 10.8Supporting Cyclic Garbage Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126A Glossary129BAbout these documents135 B.1Contributors to the Python Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135C History and License137 C.1History of the software . . . .