Python运行效率低的原因都有哪些

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python运行效率低的原因都有哪些相关的知识,希望对你有一定的参考价值。

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

参考技术A Python的设计哲学是 第一能让人看懂,附带能在机器上运行,
c语言的设计哲学是 第一能让机器快速运行 附带能让人看懂

python 学习,需要都有哪些基础呢?

1、有较强的逻辑思维能力
几乎所有编程语言的学习都离不开较强的逻辑思维能力,因为编程语言是人与计算机的对话,任何歧义和差错都会影响最终的运行效率。
2、有较强的数理专业背景
学习Python最理想的专业有数学、统计学、物理学、计算机科学等专业,因为Python语言所操作的对象很可能是大数据收集与分析,以及AI开发领域,有以上的学科背景会对今后的发展有很好的优势。
3、有丰富的运维经验
可能很多学计算机的同学在毕业之后从事了服务器、后台管理的运维工作,这既有优势、也有劣势。所谓优势就是有现成的成品摆在你面前,你在做运维的过程中会对产品开发理解更加充分,然而劣势就在于对自身的技术提高帮助可能比较有限。这时学Python,更在于从运维转开发,这也是对自己职业生涯的一种新规划。
4、从事Web全栈开发工作
以前开发web,Java是主角,但如今越来越多的web开发开始青睐于Python,究其原因其实也是因为网络数据量的日益庞大以及人工智能的普及,所以精通Python语言对于从事web全栈开发将有积极的影响。
参考技术A 第一阶段:Python核心编程
Python语言基本介绍、分支和循环、内置数据结构、函数、模块、常用标准模块、文件操作、异常处理、面向对象编程、多任务、内置函数与调试、排列组合与正则表达式、语法进阶、Linux操作系统、文件系统与用户管理、文件操作、网络命令、进程管理与服务配置、Shell编程与bash,源文件编译、版本控制、MySQL使用、MySQL进阶、游戏项目开发、阶段总结+考核+简历指导
第二阶段:全栈开发
HTML、CSS、JavaScript、jQuery、 BootStrap、Vue、Web开发基础、Flask Views、Flask模板、数据库操作、FLask配置、Django认识、Models、Templates、Views、Django AdvancedDjango进阶)、(Django-Rest-Framework、天天生鲜项目(Vue+DRF)、项目部署、Tornado框架基础、Tornado框架进阶、ElasticSearch、全栈项目开发、阶段总结+考核+简历指导
第三阶段:网络爬虫
爬虫与数据、多线程爬虫、Scrapy框架、Scrapy框架与信息实时抓取、定时爬取与邮件监控、NoSQL数据库、Scrapy-Redis框架、百万量数据采集、阶段总结+考核+简历指导
第四阶段:人工智能
数据分析-基础内容、数据分析-模块学习、数据分析-数据清洗、数据分析-特征工程和结果可视化、pyechart模块动态可视化、词云、分类算法、聚类算法、回归类算法、关联算法、卷积神经网络、TensorFlow+PaddlePaddle、图像识别、阶段总结+考核+简历指导
第五阶段:就业指导
就业指导、技术指导
参考技术B 学习python可以从几个方面入手:
学习基本的语法,包括数据结构(数组,字典等)。了解数据类型,以及他的类型转换。
学会流程控制---选择,循环。
函数,模块,熟练使用常用的内建函数。
class类
多线程

以上是关于Python运行效率低的原因都有哪些的主要内容,如果未能解决你的问题,请参考以下文章

怎么提高电脑内存的性能及使用效率都有哪些方法

python为什么运行效率不高

是什么原因导致Python运算效率这么低呢?

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

oracle如何定位效率较低的sql

Python: Pandas运算的效率探讨以及如何选择高效的运算方式