写点什么

讲真,你知道 Python 咋来的吗?

发布于: 2020 年 11 月 28 日

摘要:什么是 Python?它怎么诞生的?它跟 C 语言、shell 语言有什么区别?语言环境是怎么样的?这些你都知道吗?


Python 诞生在一个圣诞节


Python 诞生于 1989 年的一个圣诞节,其创作者 Guido van Rossum 为了打发圣诞节假期的无聊,便开始了 Python 语言的编写。Python 第一个发行版本是在 1991 年,起名为 Python 是源自于 Guido 喜欢的一档电视节目——Monty Python´s Flying Circus 。Guido 在创作 Python 的时,希望有一种语言可以像 C 语言那样可以调用计算机的功能接口,又可以像 shell 那样进行轻松的编程,所以他在 1989 年的时候创建了 Python 这门编程语言。



Python 的优势 VS 不足


我们知道想掌握一门语言,首先得先了解其优势和不足。Python 第一个优势在于语法优雅简单,Python 写起来就像写英文一样,可读性非常高,清晰易懂。比较容易理解。第二个优势是编程范式,它支持很多编程范式,面向过程、面向对象,它还支持函数式编程。第三点优势是 Python 的一个动态解释性, Python 代码是不需要编译的,可以直接由 Python 解释器来进行运行,也可以在运行中修改类的属性,相较于 Java 或者说 C 语言的代码来说,这是一个很大的优势。第四点优势,第三方库。Python 拥有功能强大并且数量庞大的第三方库。迄今为止,它的第三方库已经超过 18 万个,涉及到各行各业、多个领域,非常方便。Python 有一个代号叫做胶水语言,这也是它的第五点优势。这个代号的来由是因为 Python 可以去调用 Java 以及 C 语言编写好的模块。



那我们再来看一下 Python 的缺点,Python 比较致命的缺点是运行速度慢,相较于 Java、 C 语言来说是非常慢的。虽然它的解释器是由 C 语言和 Java 语言编写的,但这也不能弥补它运行速度慢的缺点。不过就一个程序而言,它并不是每时每刻都要保持着一个超高的运行速度,所以我们可以用胶水语言这个特性去结合一些其它的代码、比如说 Java,比如说 C,在我们这个程序里特别需要运行速度的地方,用 Java 和 C 语言去编写代码,然后用 Python 来调用,就可以去弥补这个缺点,并且可以更合理地去利用我们以前会的编程语言。


还有一点,线程灾难,这是 Python 本身机制的问题。在 Python 里,为了保证线程数据的安全性,它天然地给线程加了一把锁,只有拿到这把锁的线程才可以执行。所以说 Python 多线程是一个伪多线程。它实际上只有一个线程在运行,这个也是它的一个缺点。


Python 和 C 语言、shell 语言的区别


好,那了解完 Python 的优点和缺点以后,那它和其他语言孰好孰坏,我们该 pick 哪一个呢?下面我们主要看一下 Python 和 C 语言、shell 的相同点和区别。


C 语言和 Python 语言都可以去编写一些程序和工具,就像我们平常用到的一些 APP、或者说一些其它的程序;Python 和 shell 都是脚本语言,这是它们的一些相似性,再来看一下它们的一些区别点。


首先运行速度,C 语言和 shell 语言的运行速度都会比 Python 要高一些,但 C 语言在学起来的时候可能有一些困难,当然这个困难是相对于 Python 和 shell 语言来说的。Python 和 shell 语言它们都比较简单。


第三方库,也就是我们的工具包,Python 的工具包非常的多。大家以后如果经常使用 Python 的话,会发现有一些功能根本没必要思考自己怎么来完成,我们只需要导入一些工具包,就可以很简单的实现。而 C 和 shell 语言它们是没有很多工具包的。


还有代码的复用性,C 和 Python 它们可以依照程序员的技能来提高代码的复用性,而 shell 作为一个脚本语言,主要是用于运维方面,所以它代码的复用性相较于 C 和 Python 而言会低一些。可移植性和代码的复用性上是很相似的,C 语言它可以去进行一些系统内核的编写,而 Python 和 shell 是不支持的。


自动的内存管理,C 和 shell 语言没有自动的内存管理的,而 Python 作为高级编程语言,它有这样的功能。可扩展性以及动态语言,这两点同样也只有 Python 支持而 C 和 shell 是不支持的。


最后一点内存操作,在 Python 中因为解释器已经自动的去管理内存了,所以说它本身它其实并没有一些特别多的内存操作。而 C 和 shell 则不同,它们可直接去操控内存。



那通过我们上面的对比就可以发现了,Python 它可以帮助我们去减少一些代码量,或者说减少一些程序员该如何去思考这段代码怎么完成的事物。他会让我们将主要的精力放在我们的业务逻辑上,这是它的一个很大的优点。


好了,看完本文介绍,是不是对 Python 更加感兴趣了呢?更多干货课程请上华为云学院,体系化的培训课程,快速完成学习覆盖,让您轻松掌握Python的精彩内容。


→点击直达华为云学院,get更多新技能!


点击关注,第一时间了解华为云新鲜技术~


发布于: 2020 年 11 月 28 日阅读数: 345
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
讲真,你知道Python咋来的吗?