官术网_书友最值得收藏!

Preface

Cython is a tool that makes writing native extensions to Python as easy as writing them in Python. For those who are unaware, you can implement Python modules as pure the C code, which will, for all intents and purposes, look and act like any Python code. This is required when implementing modules in Python, such as the built-in zip module which use native zlib under the hood. Doing this makes sense for the standard library modules part of Python, though for most users of Python, writing native modules should be the last course of action if possible.

Writing native modules is hard and requires prerequisite knowledge of how to use the garbage collector calls correctly in order to avoid memory leaks. It also requires an understanding of how the GIL is used, which changes if you are using CPython or PyPy. It also requires knowledge of the module structures and argument passing internally to the Python runtime. Therefore, it isn't a trivial process when the need arises. Cython lets us write and work with the native code without having to know anything about the Python runtime. We can write almost pure Python code that just so happens to let us manipulate C/C++ types and classes. We can call back and forth from the native code and into the Python code.

More importantly, Cython removes the complexity and intrinsicity and lets the programmer focus on solving problems.

主站蜘蛛池模板: 慈利县| 麻栗坡县| 珠海市| 广饶县| 穆棱市| 盱眙县| 东乡县| 清涧县| 聂拉木县| 天等县| 儋州市| 南昌市| 分宜县| 庄河市| 行唐县| 通江县| 凌云县| 五大连池市| 许昌县| 舒兰市| 麻栗坡县| 滁州市| 阜新| 茶陵县| 蒙自县| 额济纳旗| 南郑县| 浠水县| 深泽县| 漯河市| 嵩明县| 绍兴县| 绥江县| 三江| 招远市| 清新县| 尖扎县| 河北省| 东辽县| 遵化市| 湾仔区|