更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号
分类: Python/Ruby
2022-06-06 17:17:42
众所周知,Python是一门非常流行的开发语言,它语言简洁且容易学习,一个功能可能就有多种实现方式,那你知道有哪些习惯会使Python程序的运行速度变慢吗?请看下文:
1、不要导入根模块
在使用Python时,我们无法避免的一件事就是导入模块,无论是内置模块还是第三方模块,有时,我们可能只需要该模块中的一个或几个函数或对象,在这种情况下,我们该尝试只导入我们需要的函数或对象,而不是导入根模块。
2、避免使用点/点链
使用dot非常直观,在Python中访问对象的属性或函数,大多数时候没问题,但如果我们可以避免使用点甚至链接点,性能实际上会更好。
3、不要使用+连接字符串
字符串在Python中是不可变的,因此,当我们使用+将多个字符串连接成一个长字符串时,每个子字符串都是单独操作的。
对于每个子字符串,它需要请求一个内存地址,然后将它与该内存地址中的原始字符串连接起来,这成为一种开销。
但当我们使用join函数时,该函数事先知道所有子字符串,且内存地址分配的长度适合最终连接的字符串,因此没有为每个子串分配内存的开销。
4、 不要使用临时变量进行价值交换
许多算法需要两个变量的值交换,在大多数其他编程语言中,这通常是通过引入一个临时变量来完成的。
但是在Python中,我们不必使用temp变量,Python具有内置语法来实现此值交换。
5、使用if-condition短路
“短路”评估存在于许多编程语言中,Python亦是如此,基本上,它指的是某些布尔运算符的行为,其中仅当第一个参数不足以确定整个表达式的值时才执行或评估第二个参数。
6、如果可以使用for循环就不要使用while循环
Python使用了很多C来提高性能,即CPython,在循环语句方面,Python中的For-Loop具有相对较少的步骤,其中更多的步骤作为C代码运行,而不是While-Loop。
因此,当我们可以在Python中使用For-Loop时,我们不应该使用while循环,这不仅是因为For-Loop在Python中更优雅,而且性能更好。