Rust是一门令人兴奋的新语言。它为开发人员提供了没有垃圾收集机制的内存安全,从而带来了快速的运行和低内存占用。但是,用Rust重写一切可能是昂贵和有风险的,因为Rust中可能没有对要解决的问题的包支持。这就是Python绑定和pip的用武之地。本书将使开发人员能够用Rust编写可以使用pip安装的模块,这样就能够在需要的时候注入Rust,而不需要承担重写整个系统的风险和工作量。这种方法使开发人员能够在Python项目中尝试和使用Rust。
《Python高效编程——基于Rust语言》详细阐述了基于Rust语言的Python高效编程,主要包括从Python的角度认识Rust、使用Rust构建代码、理解并发性、在Python中构建pip模块、为pip模块创建Rust接口、在Rust中使用Python对象、在Rust中使用Python模块、在Rust中构建端到端Python模块、构建Python Flask应用程序、将Rust注入Python Flask应用程序、集成Rust的最佳实践等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。
本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。
篇为“了解Rust”,包括第1~3章。
> 第1章为“从Python的角度认识Rust”,介绍了有关Rust的基础知识,重点阐释了Python和Rust之间的区别,以帮助Python开发人员快速了解 Rust,并给出了相关的Python实例,以帮助开发人员掌握Rust概念。
> 第2章为“使用Rust构建代码”,解释了如何在多个页面上构造Rust程序,并使用包管理工具来组织和安装依赖项。
> 第3章为“理解并发性”,介绍了线程和进程的概念,演示了如何在Rust中运行多线程和多进程。该章还介绍了Python中的并发性,以帮助开发人员了解其中的差异。
* 第2篇为“融合Rust和Python”,包括第4~8章。
> 第4章为“在Python中构建pip模块”,讨论了如何构建可以使用pip安装的Python包,还演示了如何在GitHub上托管软件包,以及配置持续集成等。
> 第5章为“为pip模块创建Rust接口”,介绍了如何将Rust代码注入pip模块,并使用Rust设置工具来编译和使用Python中的Rust代码。
> 第6章为“在Rust中使用Python对象”,考虑了另一个方向上的兼容,即在Rust中接受和处理Python数据结构并与之交互。该章还讨论了如何在Rust中创建自定义Python对象。
> 第7章为“在Rust中使用Python模块”,介绍了如何在Rust代码中使用诸如NumPy之类的Python模块。
> 第8章为“在Rust中构建端到端Python模块”,将所有已经讨论的内容打包成一个用Rust编写的功能齐全的Python包。这个包拥有Python接口和命令行功能,可以接受YAML文件进行配置。
* 第3篇为“将Rust注入Web应用程序”,包括第9~11章。
> 第9章为“构建Python Flask应用程序”,构建了一个带有PostgreSQL数据库、NGINX负载均衡器和Celery工作进程的Python Flask应用程序,以使Rust技能更加实用。所有项目都被包裹在Docker中,为将Rust注入Web应用程序打下基础。
> 第10章为“将Rust注入Python Flask应用程序”,讨论了如何利用第9章中构建的Web应用,将Rust模块注入Celery工作进程和Flask应用程序的Docker容器。该章还印证了已经应用的迁移,以自动生成数据库的模式,这样Rust代码就可以直接与数据库连接。此外,该章还介绍了如何使用来自私有GitHub存储库的Rust包。
> 第11章为“集成Rust的最佳实践”,给出了一些提示,说明在为Python编写Rust代码时如何避免常见的错误。