前言我们都知道,就速度而言,Python是一种比Java或C慢得多的语言。Python是一种动态类型语言,这意味着它的变量类型不是预定义的。动态类型是一把双刃剑,它使Python成为一门优雅的语言,但也拖慢了Python的速度。让我们看看一些可能对整体代码性能产生重大影响的小技巧。1.了解你的内置函数这个技巧可以帮助你节省代码的时间和时间。当我开始学习Python时,我以前从未使用过内置函数,所以为了执行我的绝对值代码,我会运行一个for循环而不是使用abs()。为了将字符转换为大写,我什至会将其转换为大写字母的ASCII等价物,因为我拒绝学习字符串函数。如果您对Python很认真,那么学习Python的所有内置函数都是值得的,因为它不仅会使您的代码更清晰、更可重用,而且还可以避免人为的低效率。2.A,B=B,A我确定您之前使用“temp”作为占位符变量来交换两个元素。我可以告诉你的是,这个方法只在课堂上使用,不应该在编程时使用。相反,可以通过将变量写为a,b=b,a来完成简单的变量交换。这将在一行中切换所有变量并防止解释器超出三个(temp、a、b交换方法)。这是一个可以节省几分之一秒的小修复-但从长远来看,时间会增加。3.仅在函数内导入作为初学者,我们都喜欢在代码顶部批量导入我们认为需要的所有内容。我记得有一次我导入了NumPy、Pandas、Scipy、Warnings、Math、Math、Os等,当我完成我的代码时,我只使用了三个库。这将耗尽计算机的内存。相反,在相应的函数中导入所需的库(如果多个函数需要同一个库,则需要多次导入)。这意味着解释器只会在您调用函数时执行导入,而不是在代码的开头。现在Python库已缓存,因此当您调用不同的函数时,每次导入都不会花费额外的时间。但是,当您最终在顶部导入所有内容并且甚至不在代码中使用某些功能时,确实需要更多时间。4.使用Numba这是一个小众技巧,主要帮助使用NumPy或者科学编程的人。Numba是一个PythonJIT编译器,它将装饰器应用于函数,将一些函数转换为超快的字节码(几乎与C一样快)。Numba开始以其简单性和强大的功能而闻名。Numba目前还支持其他功能,但是,我认为目前它主要面向科学Python开发人员。5.从集合而不是列表中检查这是Python优化书籍中最古老的技巧之一。如果元素存在,则不要在列表中搜索。相反,将列表设置为set(set(list)),然后检查“set(list)中的元素”。这个小改动会提高你的运行效率,因为Python使用可调整大小的哈希表,将平均时间复杂度增加到O(1)。但是,遍历集合并不比遍历列表快。
