Python学习基础核心笔记汇总——扩展Python

文章讲述了如何将C代码扩展为Python模块,以增加额外功能、提升性能或保护源代码。扩展过程包括创建应用代码、使用模板包装C代码、编译与测试。此外,还提到了一些工具如SWIG、Pyrex和Psyco,以及Python的嵌入式使用。
摘要由CSDN通过智能技术生成

第二十二章 扩展 Python

一般来说,所有能被整合或者导入到其他 Python 脚本的代码,都可以称为扩展。

扩展的理由:

  添加额外的(非 Python)功能

  性能瓶颈的效率提升

  保持专有源代码私密

为 Python 创建扩展需要 3 个主要的步骤:

1. 创建应用程序代码:

  我们要建立的是一个“库”,一个将要在 Python 内运行的模块   在 C 代码中放一个 main()用于测试代码的正确性

2. 利用样板来包装代码

1) 包含 Python 头文件 #include “Python.h”

2) 为每个模块的每一个函数增加一个形如 PyObject* Module_func()的包 装函数

3) 为每个模块增加一个形如 PyMethodDef ModuleMethods[]的数组

4) 增加模块初始化函数 void initModule()

3. 编译与测试:distutils 包被用来编译、安装和分发这些模块、 扩展和包

1) 创建 setup.py

2) 通过运行 setup.py 来编译和连接你的代码

3) 从 Python 中导入你的模块 : $ python setup.py install

4) 测试功能

在编译的时候, 我们需要将代码跟 Python 库放在一起进行编译。

Other topics for more learning:

SWIG

Pyrex

Psyco

嵌入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘿哈小将

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值