Python 是开发人员中最流行的编程语言之一。无论是在 Web 开发还是机器学习中,它几乎无处不在。
Python 受欢迎的原因有很多,比如它的社区支持、丰富的库、在机器学习和大数据中的广泛使用,以及它简洁的语法。
尽管有这么多优点,Python 有一个缺点,那就是它的速度慢。
作为一种解释型语言,Python 比其他语言要慢一些。不过,我们可以使用一些技巧来克服这个问题。
在本文中,我将分享一些 Python 技巧,使用它们可以使我们的 Python 代码运行得更快。让我们开始吧!
1正确的算法和数据结构
每个数据结构对运行时间都有显着影响。Python 中有很多内置的数据结构,例如列表、元组、集合和字典。大多数人在所有情况下都使用列表数据结构。
在 Python 中,集合和字典具有 O (1) 查找性能,因为它们使用哈希表。在以下情况下,您可以使用集合和字典代替列表:
- 您在集合中没有重复的项目
- 您需要在集合中重复搜索项目
- 该集合包含大量项目
2使用内置函数和库
Python 的内置函数是加速代码的最佳方式之一。这些内置函数经过充分测试和优化,任何时候都是你的首选。
究其原因,这些内置函数速度快是因为,如min,max,all,map,等,是用 C 语言实现的。
能用内置函数的时候就别手动编写函数,这将帮助你更快地执行代码。
例子:
newlist = []
for word in wordlist:
newlist.append(word.upper())
更好的写法是:
newlist = map(str.upper, wordlist)
这里我们使用内置map函数,它是用 C 编写的。因此比使用循环要快得多。
3使用多个分配
如果要为多个变量赋值,不要逐行赋值。Python 有一个更优雅的方式来分配多个变量。
例子:
firstName = "John"
lastName = "Henry"
city = "Manchester"
更好的方法是:
firstName, lastName, city = "John", "Henry", "Manchester"
这种变量分配比上面的更简洁和优雅。
4优先使用循环列表理解
列表推导式是一种优雅且更好的方法,只需一行代码即可基于现有列表的元素创建新列表。
与定义一个空列表并向该空列表添加元素相比,列表推导式被认为是一种更 Pythonic 的创建新列表的方式。
列表推导式的另一个优点是,它比使用 append 方法向 Python 列表添加元素要快。
例子:
使用列表append方法:
newlist = []
for i in range(1, 100):
if i % 2 == 0:
newlist.append(i**2)
使用列表推导式:
newlist = [i**2 for i in range(1, 100) if i%2==0]
使用列表推导式后,代码看起来更简洁。
5正确导入
避免导入不必要的模块和库,除非你需要它们。
导入不必要的库会导致代码性能下降。您可以指定模块名称,而不是导入完整的库。
例子:
假设您需要找到一个数的平方根:
import math
value = math.sqrt(50)
更好的写法:
from math import sqrt
value = sqrt(50)
6字符串连接
在 Python 中,我们使用+运算符连接字符串,但还有一种方法是 join。
join 方法是一种更 Pythonic 的字符串连接方式,也比用加号连接字符串更快。
join() 方法更快的原因是:用加号操作会创建一个新字符串,然后在每一步复制旧字符串,而 join() 方法不是这样的。
例子:
output = "Programming" + "is" + "fun
使用join方法:
output = " ".join(["Programming" , "is", "fun"])
两种方法的输出将相同。唯一的区别是该join()方法比+操作员更快。
7结论
这就是本文的全部内容。在本文中,我们讨论了一些可用于加快代码运行速度的技巧。希望你喜欢这篇文章。谢谢阅读!
作者:Pralabh Saxena
https://betterprogramming.pub/6-tips-to-make-python-code-run-incredibly-faster-932db815c3a8