0%

python代码效率优化

​ 最近在面试中遇到问python代码效率优化的问题,感觉答的很混乱,所以想来整理下python代码优化的常见手段。

1.尽量使用python内置函数

​ Python 的标准库中有很多内置函数,它们的运行效率都很高。因为很多标准库是使用 C 语言编写的。

2.字符串拼接使用python的标准式

​ python字符串的连接方式主要有:

1.使用”+”做字符串拼接

​ 在 Python 中,字符串变量在内存中是不可变的。如果使用 “+” 拼接字符串,内存会先创建一个新字符串,然后将两个旧字符串拼接,再复制到新字符串

2.使用%运算符连接

1
2
3
4
5
> fir = 'hello'
> sec = 'monkey'
> result = '%s, %s' % (fir, sec)
> print(result)
>

>

3.使用format格式化连接

1
2
3
4
5
> fir = 'hello'
> sec = 'monkey'
> result = '{}, {}'.format(fir, sec)
> print(result)
>

>

4.使用join的方式

​ 这是一种技巧型方法,一般用于连接列表获元组中的字符串。

1
2
3
4
> list = ['1', '2', '3']
> result = '+'.join(list)
> print(result)
>

​ 选用后面三种方式替代”+”字符串拼接

3.需要单次遍历的迭代的数组采用生成器替代

​ 生成器拥有惰性计算的特点,并不不会一次性生成全部的值存储在内存中,而是在运行时生成值,因此可以大大节省内存空间。

4.使用while 1代替while True(在python2中)

由于Python2中,True/False不是关键字,因此我们可以对其进行任意的赋值,这就导致程序在每次循环时都需要对True/False的值进行检查;而对于1,则被程序进行了优化,而后不会再进行检查。

5.条件语句规范化,使用if x代替if x==True

​ x==True会多出一步比较操作