2023年python趋势之一:Python和Rust

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

   在python中用来提升CPU密集工作,目前用Rust写扩展已成为C语言的有力竞争者, 主要推动者是PyO3,因为它为 Python 提供 了Rust 绑定, PyO3 使 Python 轻松使用 Rust 代码成为可能, 它还支持从 Rust 使用 Python,但我相信前者对 Python 生态系统的影响更大。

什么是PyO3?

PyO3是python和rust语言之间的桥梁,它允许你从python中调用rust,也运行rust中调用python,所以用PyO3可以创造一个高性能的python扩展,这个扩展可以直接用rust来编写。

如何使用PyO3?

 首先,使用PyO3,需要在机器上安装pip install pyo3,以下是一个简单实例:

1、创建一个Rust项目:

cargo new my_rust_library

2、在Cargo.toml文件中添加pyo3依赖:

[dependencies]
pyo3 = "0.12.0"

3、在Rust代码中编写一个函数:

#[pymodule]
fn my_rust_library(py: Python, m: &PyModule) -> PyResult<()> {
   m.add_wrapped(wrap_pyfunction!(add))?;
   Ok(())
}

fn add(a: i32, b: i32) -> i32 {
   a + b
}

4、在Python代码中调用Rust函数:

import my_rust_library

result = my_rust_library.add(1, 2)
print(result) # 3

从例子看调用简直不能太简单了,我们再看下另一个方式:

同样先创建一个名为 rust_code.rs 的 Rust 文件,内容如下:

#[no_mangle]
pub extern "C" fn add_numbers(a: i32, b: i32) -> i32 {
   a + b
}

接下来,创建一个名为 python_code.py 的 Python 文件,内容如下:

import pyo3

rust_module = pyo3.crate("rust_code")

def add_numbers(a: int, b: int) -> int:
   return rust_module.add_numbers(a, b)

使用以下命令将 Rust 代码编译成动态链接库:

rustc --crate-type cdylib rust_code.rs

现在,你可以在 Python 代码中导入模块的方式调用 Rust 代码:

>>> from python_code import add_numbers
>>> add_numbers(3, 5)
8

使用pyo3,你可以使用Rust代码在Python项目中实现高效的算法,同时仍然可以使用Python语言的简洁语法和丰富的第三方库。

有了这个利器 PyO3,希望在未来几年能在 Python 相关项目和工具中看到更多 Rust, 一些cpu密集型的工作将能很好解决,因此可以预计Python + Rust 组合在未来的就业市场上也可能有很高的需求。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

 三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

四、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、Python练习题

检查学习结果。

七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

Rust vs Python:哪种编程语言更适合您的项目? RustPython是最近流行的辩论。虽然这两种语言都可以用于通用编程,但在某些场景利基市场上,一种比另一种更好。要知道你的项目应该使用哪种语言,你应该对这两种语言的特点架构有一个非常好的了解。这篇关于RustPython的文章将帮助你了解这一点。 阅读详情

相关推荐

PyO3:一个RustPython无缝交互的工具,用Rust打造高性能Python应用

无论你想用 Rust 编写 Python 模块,还是将 Python 集成到 Rust 程序中,PyO3 都能满足你的需求。如果你需要在 Rust 程序中使用 Python 的库或功能,PyO3 可以让你轻松实现。例如,你可以使用 Python数据分析库进行数据处理,然后将结果返回给你的 Rust 程序。如果你需要用 Rust 的性能优势来加速你的 Python 代码,PyO3 是你最好的选择。使用 PyO3,你可以在 Rust 程序中嵌入 Python 解释器,并调用 Python 代码。

weixin_53707653的博客 2835

如何使用 Rust 加速 Python

本文翻译自,主要用于记录如何将 Rust 代码发布成 python 的包供 python 调用以提升性能。

weixin_50114401的博客 1108

使用Rust加速Python程序,让代码飞起来

大家好,作为一种解释型语言Python开发速度灵活性方面具有明显的优势,但在性能方面却不如编译型语言如C++或Rust。对于性能要求苛刻的应用程序,如果纯粹使用Python编写可能会运行缓慢,影响用户体验。因此,如何利用Rust来加速Python程序的运行速度成为一个值得探讨的话题。本文将比较PythonRust的性能,并介绍如何使用Rust加速Python程序。

csdn1561168266的博客 1554

RUSTPython对比分析

Rust 已经发展成为一种易于使用的编程语言,因此它的使用量也在增加。尽管 Python 在机器学习/数据科学社区中占有一席之地,但 Rust 未来可能会被用作 Python 库的更高效的后端。

探索人工智能领域 1998

2023顶级编程语言趋势

Rust 拥有大量忠实的追随者——事实上,根据 Stack Overflow,它是“最受欢迎”的编程语言,即使它不是最常用的。从 Java 的缓慢衰落到 MATLAB 的惊人流行,对当今最流行的编程语言的分析,可以帮助你了解最新趋势并响应最新趋势。但也有一些趋势,比如 PHP 的衰落、汇编代码的意外流行,会难以预料,它们值得大家在未来持续关注。2023 最不令人惊讶但仍值得注意的编程语言趋势可能是 Python 的持续流行,这种通用编程语言来成为世界上最受欢迎的语言。本文经翻译整理后发布。

Mr_HelloWorldx的博客 5万+

Python 发展趋势:与 Rust 深度融合、更易于编写 Web 应用

最近的 Pycoder‘s Weekly 中有一篇《Three Python trends in 2023》,它介绍了当下较为热门的三个话题。我简略翻译/摘录出来,分享给大家。

Trb401012的博客 824

3个Python发展趋势(与 Rust 深度融合、更易于编写 Web 应用)

大家好,在过去的两时间里,我工作上的任务与 Java 基本无关了,转向了 Python 的阵营。最近的 Pycoder‘s Weekly 中有一篇《》,它介绍了当下较为热门的三个话题。我简略翻译/摘录出来,分享给大家。

wslejbb的博客 1046

2023顶级编程语言趋势Python 继续占据主导地位

2023 最不令人惊讶但仍值得注意的编程语言趋势可能是 Python 的持续流行,这种通用编程语言来成为世界上最受欢迎的语言

pythonhy的博客 612

2023编程语言趋势

Python持续霸榜,PHP依旧颓势,Java雄风不再,Rust热度不减,汇编迅速崛起,C语言地位稳固

略懂……略懂…… 3万+

编程语言概览:2023值得学习的顶尖技术

10. **Dart/Flutter**:Dart是Flutter的编程语言,Flutter是Google的UI工具包,用于在iOSAndroid上创建美观、原生般的移动应用。5. **Kotlin**:Kotlin是一种现代的、静态类型的编程语言,与Java兼容,被Google宣布为Android官方开发语言。它简洁的语法对现代编程概念的支持使其成为移动开发者的热门选择。1. **Python**:Python仍然是最受欢迎的编程语言之一,因其简洁易学的特点,深受初学者专业开发者的喜爱。

2301_79507619的博客 862

20231月编程语言指数

20231月编程语言指数

行客科技工作室 566

2023编程语言实战应用排行榜TOP5

最近在准备跳槽,想看看哪些编程语言更吃香,于是用Python做了个数据分析看板。这个项目从GitHub招聘网站抓取数据,分析了2023最实用的5大编程语言。整个过程挺有意思的,分享下我的实现思路经验。整个过程比我预想的简单很多,从开发到上线只用了两天时间。这里有个小技巧,GitHub API有请求频率限制,建议用时间间隔控制请求速度。特别有意思的是,Rust虽然学习曲线陡峭,但薪资水平明显高于其他语言。他们的云端环境已经预装了Python所需库,不用自己折腾服务器配置,特别省心。

GoldEagle19的博客 383

编程语言世界大洗牌,Python、Java、C++谁将被淘汰?

编程语言的世界就像是一个繁荣的生态圈,每一种语言都有它的生存空间发展趋势。在这个生态圈中,有些语言如日中天,有些语言正在崛起,有些语言正在逐渐走向衰落。20235月的TIOBE编程语言排行榜就像是一个生动的生态地图,向我们展示了这个生态圈的现状发展趋势。根据这份排行榜,Java、Python、C++、C# JavaScript 还是我们最熟悉的那些老朋友,稳稳的占据了前五名。其中,Java仍然坐稳了头把交椅,Python则是保持着强劲的增长势头,过去的几个月里一直在稳步上升。

m0_59235508的博客 419
上一篇: 随着Python越来越火,前景如何?
下一篇: 这个暑假,悄悄学习Python,然后惊艳所有人!
壹只小小码农
博客等级 码龄5年 8005粉丝 1334原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值