资源详情

Python高效编程——基于Rust语言

Python高效编程——基于Rust语言-电子书下载


出版社: 清华大学出版社
副标题: 基于Rust语言
出版年: 2023-3
ISBN: 9787302630517

下载次数:11


本站推荐

书籍资料

  • 内容简介
  • 作者介绍
  • 书籍目录

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的最佳实践等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。

本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。


麦克斯韦尔·弗立顿是一名软件工程师,为开源的财务损失建模基金会(financial loss modeling foundation)OasisLMF工作。2011年,Maxwell取得了英国林肯大学的护理学理学士学位。在医院急诊科工作12小时的同时,Maxwell还获得了英国开放大学的物理学学位,然后又迈向了另一个里程碑,获得了伦敦大学医学院的物理学和工程学研究生文凭。他曾参与过许多项目,如为德国政府提供医疗模拟软件,并在伦敦帝国学院指导计算医学学生。他有在金融科技领域工作的经验,并曾经为Monolith AI公司服务过。
前 言

  Rust是一门令人兴奋的新语言。它为开发人员提供了没有垃圾收集机制的内存安全,从而带来了快速的运行和低内存占用。但是,用Rust重写一切可能是昂贵和有风险的,因为Rust中可能没有对要解决的问题的包支持。这就是Python绑定和pip的用武之地。本书将使开发人员能够用Rust编写可以使用pip安装的模块,这样就能够在需要的时候注入Rust,而不需要承担重写整个系统的风险和工作量。这种方法使开发人员能够在Python项目中尝试和使用Rust。

本书读者

  想用Rust加快代码运行速度的Python开发人员,或者想在不承担太多风险或工作量的情况下尝试Rust的开发人员,都会从本书中受益。读者不需要有Rust的背景。本书介绍了Rust,并使用Python实例让读者快速掌握Rust。

内容介绍

  本书分为3篇,共11章。具体内容介绍如下。

* 第

篇为“了解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代码时如何避免常见的错误。