十个让 Python 代码飞起来的小技巧

今天小帅b给你分享一些在你实际使用 Python 的时候可以用到的小技巧,它们可以让你的代码执行效率更高一些。

那么接下来就是学习 Python 的正确姿势

添加图片注释,不超过 140 字(可选)

1, 善用表达式

比如我们需要从一组数字中筛选出所有的偶数,使用列表推导式和生成器表达式可以提高代码的效率和可读性。

添加图片注释,不超过 140 字(可选)

2, 使用缓存

如果我们有一个计算成本较高的函数,比如计算斐波那契数列的第 n 项,那么使用 functools.lru_cache 缓存可以显著提高效率。

添加图片注释,不超过 140 字(可选)

运行结果:

不使用缓存的结果: 102334155, 耗时: 31.831377 秒 使用 lru_cache 的结果: 102334155 成: 0.000032 秒

3, 可以用局部变量就不要用全局变量

这是因为 Python 访问局部变量比访问全局变量要快。

尽可能将变量定义在函数内部,这样可以利用 Python 的局部变量快速访问机制。

添加图片注释,不超过 140 字(可选)

运行结果:

添加图片注释,不超过 140 字(可选)

可以看到,使用局部变量耗时较短。

4, 使用 array 替代 list

如果你要存储的数据是同一类型的,那么可以使用 array 代替 list,这样就不用额外的去存储类型数据,减少内存。

添加图片注释,不超过 140 字(可选)

5, 减少不必要的函数

虽然说函数可以让我们提高复用,减少代码冗余,但凡事都有个物极必反,如果过度使用不必要的函数,就会影响性能,比如:

添加图片注释,不超过 140 字(可选)

结果如下:

添加图片注释,不超过 140 字(可选)

6, 使用 join 而不是用 +

我们常常会使用到字符串的拼接,很多时候我们会直接使用 「+」来连接字符串,每次使用 「+」 都会创建一个新的字符串,不过这在循环或大量字符串操作时就会显得很低效了。

可以使用 join 方法,因为它在内存中只创建一次新字符串。

添加图片注释,不超过 140 字(可选)

7,避免贪婪匹配

我们在写正则表达式的时候,对于处理匹配大量数据的时候,应该减少贪婪匹配的使用,这样做的好处是可以减少不必要的性能消耗。

添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)

可以看到,我们使用加一个 「?」,正则表达式变为非贪婪的,就可以更少的匹配字符。

8,使用 intern 节省内存

如果你使用到大量字符串时,可以使用 intern 方法,这可以在一定程度上优化重复字符串的存储。

使用 intern 驻留,相同的字符串字面量只存储一次,多处引用指向同一个内存地址,这样可以节省内存,提升比较操作的效率。

添加图片注释,不超过 140 字(可选)

当然,有时候系统会自动帮你 intern。

9,循环里的优化

我们经常会使用到循环语句,往往会把不必要重复执行的语句放到循环里面,这样就有点浪费了:

添加图片注释,不超过 140 字(可选)

还有一些内置的函数如 map(), filter(), sum() 等,也可以使用它们来代替循环:

添加图片注释,不超过 140 字(可选)

这比自己写的循环要来的舒服一些。

10,。。。

不想写了。

总之,我爱你!

发表回复