提高python执行效率的方法

2020-09-22 10:40发布

4条回答
樱田妮妮NiNi
2楼 · 2020-09-22 11:17

 1、使用生成器,因为可以节约大量内存

  2、循环代码优化,避内免过多重复代码的执行

  3、核容心模块用Cython PyPy等,提高效率

  4、多进程、多线程、协程

  5、多个if elif条件判断,可以把最有可能先发生的条件放到前面写,这样可以减少程序判断的次数,提高效率


三岁奶猫
3楼 · 2020-09-23 11:09

1.关键代码使用外部功能包——这个窍门要你牺牲应用的可移植性以换取只有通过对底层主机的直接编程才能获得运行效率。以下是一些你可以选择用来提升效率的功能包:Cython、Pylnlne、PyPy、Pyrex; 

2.在排序时使用键——尽可能多地使用键和内置的sort()方法; 

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

4.交叉编译你的应用——为了运行你的应用,你借助一个应用将你所编的人类可读的代码转换成机器可读的代码,但是,如果你用的是一个资源很有限的系统,这种方法或许不太可行; 

5.针对循环的优化——尽量避免在循环中访问变量的属性; 

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

魏魏姐
4楼 · 2020-09-23 11:12

1、在排序时使用键

Python含有许多古老的排序规则,这些规则在你创建定制的排序方法时会占用很多时间,而这些排序方法运行时也会拖延程序实际的运行速度。最佳的排序方法其实是尽可能多地使用键和内置的sort()方法。

2、交叉编译你的应用

开发者有时会忘记计算机其实并不理解用来创建现代应用程序的编程语言。计算机理解的是机器语言。为了运行你的应用,你借助一个应用将你所编的人类可读的代码转换成机器可读的代码。有时,你用一种诸如Python这样的语言编写应用,再以C++这样的语言运行你的应用,这在运行的角度来说,是可行的。关键在于,你想你的应用完成什么事情,而你的主机系统能提供什么样的资源。

3、关键代码使用外部功能包

Python简化了许多编程任务,但是对于一些时间敏感的任务,它的表现经常不尽人意。使用C/C++或机器语言的外部功能包处理时间敏感任务,可以有效提高应用的运行效率。这些功能包往往依附于特定的平台,因此你要根据自己所用的平台选择合适的功能包。简而言之,这个窍门要你牺牲应用的可移植性以换取只有通过对底层主机的直接编程才能获得的运行效率。

4、针对循环的优化

每一种编程语言都强调最优化的循环方案。当使用Python时,你可以借助丰富的技巧让循环程序跑得更快。然而,开发者们经常遗忘的一个技巧是:尽量避免在循环中访问变量的属性。

5、尝试多种编码方法

每次创建应用时都使用同一种编码方法几乎无一例外会导致应用的运行效率不尽人意。可以在程序分析时尝试一些试验性的办法。譬如说,在处理字典中的数据项时,你既可以使用安全的方法,先确保数据项已经存在再进行更新,也可以直接对数据项进行更新,把不存在的数据项作为特例分开处理。

6、使用较新的Python版本

你要保证自己的代码在新版本里还能运行。你需要使用新的函数库才能体验新的Python版本,然后你需要在做出关键性的改动时检查自己的应用。只有当你完成必要的修正之后,你才能体会新版本的不同。

掌握一些小窍门可以帮助你更好的运用Python完成工作,但更重要的还是要掌握扎实的基础。


相关问题推荐

  • 回答 208

    培训优势:学习时间相对较短,整体学习比较全面,学习内容也比较集中。专业老师按照大纲进行系统授课,在学习中遇到技术问题能够快速得到解决,同时还有专项的练相对于自学,学习气氛更加浓,跟同期学员对问题的探讨,对拓展思路有很大的帮助。学习变成一件很...

  • 考1+x证书要交费吗?2020-06-19 09:59
    回答 9

    免费的啊,国家出钱。至少现在还是

  • 回答 56

    这三个属于不方向的岗位,ps属于最简单的平面设计,室内设计主要是房屋内设计等,ui主要是界面射界,比如app界面和网页界面等等。

  • 回答 32

    网课是网络直播的形式,互动方面较弱,学生一般只能通过打字与老师交流,线下课可以直接与老师接触,更好的得到老师的解答

  • 回答 43
    已采纳

    基本上所有行业都是需要一直学习新的东西的,现在的发展比较快,基本没有什么行业可以是不用去学习新的东西的

  • 回答 43
    已采纳

    热门职位一:Web前端工程师工作职责:Web前端工程师就是使用HTML、CSS、JavaScript等专业技能和工具,将产品的UI设计稿实现成网站产品,涵盖用户PC端、移动端等网页,处理视觉和交互问题。现状:是互联网时代软件产品研发中不可缺少的角色。需求:每日岗位需...

  • 回答 43
    已采纳

    找3个常用的招聘软件,看看最近一个月内该地区的java岗位,看看这些招聘的更新时间是否最新,如果数量多而且更新频繁那就说明是真的缺口比较大

  • 什么是OAO?2020-12-21 13:32
    回答 29

    OAO(Online And Offline),即线下(实体店)和线上(网店)有机融合的一体化双店经营模式,可将线上消费者引导至线下实体店消费,也可将线下实体店的消费者吸引至线上消费,从而实现线上线下资源互通、信息互联、相互增值,是实体商业第四代交易模式和标准。...

  • 回答 11

    看同事性格之类的,每个人性格不同注意的点也不一样,基本上以工作为主,少探听他人私人事儿最好吧

  • 回答 9

    为人很亲和,做事儿坦荡,能在一定事情上客观的给你指导。不说小话,不小肚鸡肠。

  • 回答 8

    如果讨厌的对象是你的上司 讨厌的对象不仅仅是你周围的同时,也很有可能是你的上司,可能因为它的能力低下,你对它产生种种的不满意,可能他没有那么的平易近人、和蔼可亲,对你说华大声大气,对你的工作挑三拣四,却从不加以指点,纠正:也许它是贫者关系作...

  • 回答 9

    语气不能委婉也不能强硬,就很平常的语气(重在你自己把握)然后继续忙你的事,不要有愧疚的情绪,然后有其他的事就跟对方平常交谈,也就是一种就事论事的态度。 我知道你开始拒绝心里会很有负担。但最最重要的是,千万千万别表现出来,表面装都要装得若无其...

  • 回答 9

    一、为什么会离职? 二、为什么会选择xx公司? 三、为什么选择这个职位? 四、在原来的单位主要做什么工作的? 五、在原来工作上有哪些创新? 六、原来工作上遭遇了哪些挫折? 七、在工作中你联系最紧密的关系单位是哪里?为什么? 八、在这个新平台上...

  • 回答 4

    安静不被打扰的环境是必须的,电话面试一般会持续二十分钟以上,同时要保持精神高度集中,如果是HR的面试,更多的会考量候选人的求职动机,职位匹配度,性格等。用人部门会注重专业能力的考察 。简历主要有两部分:第一部分是个人介绍、联系方式、工作经历。...

  • 回答 7

    第一:按层次来描述项目经验。所谓按层次来描述项目经验就是采取一个递进的方式,从初级开发岗位的项目经验逐渐向主力开发岗位的项目经验过渡。这种描述方式能够让面试官对于应聘者的成长过程有一个比较全面的了解,也能够考察应聘者能力提升的过程和质量。第...

  • 回答 7

    系统整理基础知识、代码质量、解题思路

没有解决我的问题,去提问