北大青鸟设计培训:怎样才能提高Python运行效率?

Python017

北大青鸟设计培训:怎样才能提高Python运行效率?,第1张

python逐渐走入人们的视线,成为热门编程语言,随之而来,加入python培训的准程序员大军也成为社会热点。

Python具有许多其他编程语言不具备的优势,譬如能通过极少量代码完成许多操作,以及多进程,能够轻松支持多任务处理。

除了多种优势外,python也有不好的地方,运行较慢,下面电脑培训http://www.kmbdqn.cn/为大家介绍6个窍门,可以帮你提高python的运行效率。

1.在排序时使用键Python含有许多古老的排序规则,这些规则在你创建定制的排序方法时会占用很多时间,而这些排序方法运行时也会拖延程序实际的运行速度。

最佳的排序方法其实是尽可能多地使用键和内置的sort()方法。

2.交叉编译你的应用开发者有时会忘记计算机其实并不理解用来创建现代应用程序的编程语言。

计算机理解的是机器语言。

为了运行你的应用,你借助一个应用将你所编的人类可读的代码转换成机器可读的代码。

有时,你用一种诸如Python这样的语言编写应用,再以C++这样的语言运行你的应用,这在运行的角度来说,是可行的。

关键在于,你想你的应用完成什么事情,而你的主机系统能提供什么样的资源。

3.关键代码使用外部功能包Python简化了许多编程任务,但是对于一些时间敏感的任务,它的表现经常不尽人意。

使用C/C++或机器语言的外部功能包处理时间敏感任务,可以有效提高应用的运行效率。

这些功能包往往依附于特定的平台,因此你要根据自己所用的平台选择合适的功能包。

简而言之,这个窍门要你牺牲应用的可移植性以换取只有通过对底层主机的直接编程才能获得的运行效率。

4.针对循环的优化每一种编程语言都强调最优化的循环方案。

当使用Python时,你可以借助丰富的技巧让循环程序跑得更快。

然而,开发者们经常遗忘的一个技巧是:尽量避免在循环中访问变量的属性。

5.尝试多种编码方法每次创建应用时都使用同一种编码方法几乎无一例外会导致应用的运行效率不尽人意。

可以在程序分析时尝试一些试验性的办法。

譬如说,在处理字典中的数据项时,你既可以使用安全的方法,先确保数据项已经存在再进行更新,也可以直接对数据项进行更新,把不存在的数据项作为特例分开处理。

6.使用较新的Python版本你要保证自己的代码在新版本里还能运行。

你需要使用新的函数库才能体验新的Python版本,然后你需要在做出关键性的改动时检查自己的应用。

只有当你完成必要的修正之后,你才能体会新版本的不同。

python列表操作中,执行效率最高的是生成列表使用list(),删除使用del方法。生成列表效率,使用list()方法的最快,其次是使用[循环]模式。+=[]比append,insert和extend要快上一些。删除列表效率,删除中最快的是内置方法del,估计是调用c程序的问题。而pop要快于remove,估计是内部实现方法不同导致的。因为remove是删除的数值,估计在内部实现的时候用到了查找数值。而pop是删除对应的下标,会速度更快。

1.Python是动态语言

动态语言是一类在运行时可以改变其结构的语言,如新的函数、对象、代码可以被引入,已有的函数可以被删除或其他结构上的变化等,该类语言更具有活性,但是不可避免的因为运行时的不确定性也影响运行效率。

2.Python是解释执行

相比于C语言编译性语言编写的程序,Python是解释执行语言,其运行过程是Python运行文件程序时,Python解释器将源代码转换为字节码,然后再由Python解释器来执行这些字节码。其每次运行都要进行转换成字节码,然后再由虚拟机把字节码转换成机器语言,最后才能在硬件上运行,与编译性语言相比,其过程更复杂,性能肯定会受影响。

3.Python中一切都是对象

Python是一门面向对象的编程语言,其设计理念是一切皆是对象,如数字、字符串、元组、列表、字典、函数、方法、类、模块等都是对象,包括代码,每个对象都需要维护引用计数,因此,增加了额外工作,影响了性能。

4.Python GIL

GIL是Python最为诟病的一点,因为GIL,Python中的多线程并不能真正的并发,即使在单线程,GIL也会带来很大的性能影响,因为python每执行100个opcode就会尝试线程的切换,因此,影响Python运行效率。

5.垃圾回收

Python采用标记和分代的垃圾回收策略,每次垃圾回收的时候都会中断正在执行的程序,造成所谓的顿卡,影响运行效率。