2023年python趋势之一:Python和Rust

   在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%免费】。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值