大家好,今天小编关注到一个比较有意思的话题,就是关于编程语言python的优劣的问题,于是小编就整理了1个相关介绍编程语言Python的优劣的解答,让我们一起看看吧。
Python相比Java的优势是什么?缺点又是什么?
先说一个不正经的思路:Python的优势在于培训市场还没有饱和,所以漫天的广告
言归正传,先说点不好听的缺点:
慢
慢节奏的生活是很多人羡慕的,但是运行速度慢的程序可不是工程师想要的。Python慢到有点发指的地步,比V8上的JS还慢不少. (研究一下描述符,你会发现python调用对象方法的开销好大!) 但是python创始人也说了, 一般程序的瓶颈在于20%的代码, 所以你可以把那20%的代码用C重写(反正python是胶水语言,用C重写部分代码也没什么大问题)
动态类型属于写的爽翻天,一直写一直爽,但是到了出bug或者重构的时候就傻眼了。
但是,如果大部分工程师有比较好的写unit test的习惯的话,还是可以通过unit test起到保护作用并且帮助代码理解。
再来说说优点:
一切都是对象
很多动态语言都有类似功能,任何东西都可以传来传去。class可以,函数也可以。
2.J***a运行效率高于Python,尤其是纯Python开发的程序,效率极低;
3.J***a相关资料多,尤其是中文资料;
4.J***a版本比较稳定,Python2和3不兼容导致大量类库失效;
5.J***a开发偏向于软件工程,团队协同,Python更适合小型开发;
6.J***a偏向于商业开发,Python适合于数据分析;
7.J***a是一种静态类型语言,Python是一种动态类型语言;
9.实现同一功能时,J***A 要敲的键盘次数一般要比 Python 多。
从以上对比可以看出,Python学习更简单,J***a学习相对较难,如果是之前没有接触过IT编程,现在想转行做这一块,可以考虑学习Python,毕竟,现在社会环境对Python编程十分有利,而且学习简单,很容易获得高薪;对于有编程基础,且对J***a感兴趣的,也可以学习J***a编程,J***a是一门很完善的编程语言,应用十分广泛,也是一个好选择。当然,如果仅是对编程感兴趣,可以两者都学习一下,每一门语言都有自己的设计思想,没有好坏之分,只有是否适合,一个合格的程序员多学几门编程语言,了解不同的方法和思维去解决问题也是一件很好的事情。
优点:
1. Python作为动态语言更适合初学编程者。Python可以让初学者把精力集中在编程对象和思维方法上,而不用去担心语法、类型等等外在因素。而Python清晰简洁的语法也使得它调试起来比J***a简单的多。至于哪个更“优雅”纯属个人喜好,但对于初学编程的人Python更直观应该没什么异议。
2. Python有一些J***a没有的强大的架构2.1. Advanced Python Constructs,可以表达非常复杂的Logic
3. Python有非常强大的支持异步的框架如Eventlet Networking Library,而据我所知J***a要实现这些功能要麻烦的多。也因此Python适合一些可扩展的后台应用。(但除此以外Python可扩展性是不如J***a的)
2. Python作为脚本语言,更适合开发小的应用,而且极其适合在应用发展初期时用来做原型
缺点:
1. 由于Python的优点也无可避免会有牺牲------由于是动态语言,比J***a还慢。你可以想象一下编译器对于没有typing的变量,需要一个一个check具体type所耗得时间。而J***a相比起C++等等本来就不快,可想而知更慢的效果... 但很多人觉得Python code更短小精悍,所以实际跑起来不见得比J***a耗时。
2. J***a很适合发展跨平台应用,几乎常见的电脑、智能机都能跑J***a。而Python就不一样了...
关于他们的异同可参考Python vs J***a: Key Differences
说得不对的地方请大家指出 :)
到此,以上就是小编对于编程语言python的优劣的问题就介绍到这了,希望介绍关于编程语言python的优劣的1点解答对大家有用。