12个python技巧,提升你的代码编写效率

Python语言是一种解释型、面向对象、具有动态语义的高级编程语言。它的高级内置数据结构,结合了动态类型和动态绑定,使其对于快速应用程序开发,以及用作连接现有组件的脚本或胶合语言,都起着巨大作用。

Python是一种时下非常流行的语言。因为它简单易上手,因此,这个也是我推荐给初学者的主要原因。今天,我就给大家介绍一些,在Python学习中,简洁易上手的技巧,希望对大家有所帮助。

1.使用join()快速粘合大量字符串:

在Python中字符串本身就是不可改变的,你当然可以使用“+”来组合多个字符串,只不过你每一次“+”操作,都需要创建一个新字符串,而且还要复制旧内容。所以这里介绍的一个常见的技巧,就是使用Python的数组模块来修改单个字符,当你完成了之后,再使用join()函数重新创建你的最终字符串。

2.使用Python的多任务来交换变量:

如果你以前是这样写代码的:

那么,使用Python后,你可以这样高效完成:


3.使用“in”的相关代码:

一般情况下,如果你想要的查看成员的信息,你可以使用“in”来快速实现查看功能。比如,像这样:

4.通过延迟导入来加快程序加载速度:

将“import”语句移至函数中,这样,只有在你需要的时候才会进行导入。换句话说,就是如果有些模块不是你马上就需要用到的,那么你可以让模块延后导入。例如,你可以不导入一长串模块,从而使程序在启动时速度加快。当然,这种技术并不能提高整体性能,但是它可以帮助你更均匀地分配模块的加载时间。5.使用while 1”,提升无限循环的高效性:

有时你想要在程序中进行无限循环。(例如,监听套接字)尽管“while True”也能完成同样的事情,但“while 1”就简单的多,因为它是单个跳转操作。你可以将这个技巧应用到高性能Python代码中。

6.使用列表理解:

从Python2.0版本开始,你可以使用列表理解替换许多“for”和“while”块。由于2.0版本更新优化了Python解释器,这使列表理解可以帮助我们在循环过程中,发现可预测的模式,从而提升解析速度。这将使我们的功能编程变得更容易理解。而且,在大多数情况下,它能为你节省了一个额外的计数变量。

例如,仅使用一行代码得到1到10之间的偶数,你可以这么写:

而不是:

7.对一个很长的序列使用xrange():

平时,我们一般会使用range(),来实现获取完整列表的功能。但是,当我们不需要明细,只需要一个结果时,怎样才能提升效率呢?其实非常简单,用xrange()就可以啦。它能轻松的帮你搞定「给结果」的问题,还能帮你节约系统内存。真是一举两得的小能手呀~

8.使用Python生成器,按需获取价值:

使用Python生成器也可以节省内存和提高性能。例如你这有一个视频流,你可以一个一个字节块的发送,这样就可以提高性能的完成任务了。但这样也有一个弊端,就是会耗损时间。如果你对时效没有要求的话,这是个不错的选择哦。

9.了解Python列表实际上是一个数组:

Python中的列表,并不是我们日常所说的单链接列表。你可以将Python中的列表看作是一个数组。也就是说,通常我们看一个列表,需要从头看到尾。现在,你可以使用时间O(1)的索引,来检索列表中的某个元素。

这意味着什么呢?举个例子。当Python开发人员在列表对象上使用insert()时,通常这样做:


如果像这样在最前面插入元素,显然效率不高。因为这样做的话,列表中所有后续索引都必须更改。但是,如果你使用list.append(),就可以将元素高效地附加到列表的末尾。或者,如果要在两端快速插入或移除,还可以请选择双端队列。这些做法的速度会明显提升。因为Python中包括双端队列,它们都是以双链表出现的。

10.使用字典和设置来测试成员:

由于Python中的字典和集合,都是使用哈希表来实现任务的。所以python可以非常迅速的检查字典或集合中是否存在一个元素,大概速度和O(1)差不多。所以,如果你需要进场检查成员资格,可以使用字典和设置来测试成员是否具备资格。就像这样:

11.使用Python装饰器缓存结果:

符号“@”是Python的装饰语法。你不仅可以将其用于跟踪、锁定或记录,还可以用@装饰一个Python函数,以便它来实现记住结果(以后需要的)这一功能。这种技术我们称之为记忆。举个例子:

你可以在Fibonacci函数上使用“@”装饰器:

当然,这里的逻辑很简单:就是要其记忆结果,所以它并不会帮我们再次计算还在缓存中的项。

12.把Python源代码当做你的文档:

Python有的模块可以用C语言实现,这样可以有效的提高速率。如果模块的性能至关重要,同时,这模块的官方文档还不够多的话,你也可以自己探索源代码,找到底层的数据结构和算法。Python存储库也是一个很神奇的地方,你可以在使用过程中,发现它的迷人之处。


最后,我希望上述Python技巧能够帮助到你,想要Python公开课+学习资料的可以添加V : google167

推荐阅读更多精彩内容