摘要:什么是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更多新技能!

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

讲真,你知道Python咋来的吗?相关推荐

  1. 讲真,做Python一定不要只会一个方向!

    最近不少人在微信问我现在Python还好就业不好就业?发展前景怎么样?我30多岁了,还能不能转行编程?Python该怎么学?如果做Python到底该做爬虫还是数据分析还是web?......等等这样的 ...

  2. python应届生工资待遇_讲真,应届生一般工资多少啊?

    今日,一则关于应届生薪酬的话题冲上知乎热榜图片来源:知乎截图 相信薪酬是很多即将毕业的同学特别关注的话题,那么我们今天就来看下部分高校2019届毕业生的薪酬吧! 看了上述数据,你的薪资水平拖后腿了么? ...

  3. python程序论文答辩_讲真,毕业论文答辩到了该改改的时候了

    原标题:讲真,毕业论文答辩到了该改改的时候了 报 名 4-5月计算机相关会议汇总 4月14-15日,无锡 全国高校Java.python.软件工程系列课程高级研修班 4月21-22日,北京 全国高校微 ...

  4. 讲真,上班路上 1 小时算很幸福了!

    作者 | 唐韧 来源 | 唐韧(ID:RyanTang007) 昨天看到一个由中国城市规划设计研究院发布的<全国主要城市通勤时耗监测报告>,里面把上下班单程通勤时间超过 60 分钟的称为「 ...

  5. 2019年肖秀荣命题人讲真题上下两册【全】

    2019年肖秀荣命题人讲真题上下两册[全] 链接:https://pan.baidu.com/s/1fKQICL-U1X2I4v7Hv2Ep9w 密码:vulg 2019年肖秀荣命题人精讲精练 链接: ...

  6. 小甲鱼python 第001讲:我和Python的第一次亲密接触

    文章目录 第000讲:愉快的开始 第001讲:我和Python的第一次亲密接触 讲课思尻 思尻题 1.python是脚本类型的语言 2.IDLE是什么 3.print()的作用 4.为什么 >& ...

  7. 2022考研肖秀荣《讲真题》pdf

    2022考研肖秀荣<讲真题>pdf

  8. python纯函数_理想国真恵玩Python从入门到精通第006天_纯函数写游戏管理系统

    原标题:理想国真恵玩Python从入门到精通第006天_纯函数写游戏管理系统 前面已经带大家学习了函数,高级数据类型,比如说字典,今天带大家用函数加字典做一个游戏管理系统,希望大家喜欢.废话不多说,直 ...

  9. 讲真,计算机还能火多久?2020届本科,非科班,打算22年考研,害怕三四年以后读研出来计算机不行了

    在逼乎上看到这样一个问题: 2020届本科毕业,专业应用数学,打算22考研,是考计算机吗?农村贫困家庭,没有什么爱好,只希望以后的工作挣钱就行了,就是害怕三四年以后读研出来计算机不行了 讲真,计算机还 ...

  10. python第一个发行版本由c语言实现_【Python】讲真,你知道Python咋来的吗?

    Python诞生在一个圣诞节 Python诞生于1989年的一个圣诞节,其创作者Guido van Rossum为了打发圣诞节假期的无聊,便开始了Python语言的编写.Python第一个发行版本是在 ...

最新文章

  1. Linux笔记 软件管理
  2. 为什么微服务一定要有网关?
  3. lamp mysql脚本_初次尝试利用脚本自动编译搭建LAMP-----Mysql
  4. 网页设计中常用的19个Web安全字体
  5. 新手求大神,有其他swit-case的思路写这个程序么?
  6. ux和ui_UI和UX设计师的10种软技能
  7. 简单的反U盘病毒(删除不了的畸形文件夹)
  8. Python程序-离散和线性图形
  9. React 16 Jest ES6 Class Mocks(使用ES6语法类的模拟) 实例三、四
  10. 纽约州交通事故数据可视化
  11. iOS开发证书和配置文件的使用
  12. 螺纹的规定,http://www.doc88.com/p-30089302852.html
  13. 深度应用驱动的医学知识图谱构建(一)
  14. 苹果手机电池健康怎么看_电池的循环次数怎么看?关系到手机电池寿命
  15. 拼车小程序的市场应用与外包开发的建议
  16. C++,OpenCV 中template(模板)的简单理解
  17. Python中如何计算时间差
  18. 强化学习之Q学习与SARSA
  19. 4.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
  20. 基于单片机的危险气体泄露报警器设计

热门文章

  1. CSS 兼容浏览器的方法 CSS Hack
  2. react滑动切换tab动画效果_后端设计中,如何用axure实现table切换动效?
  3. python repair修复功能_详解Python修复遥感影像条带的两种方式
  4. bjca客户端 win10_BJCA证书助手 V2.14.4 官方版
  5. linux getline参数,[置顶]linux getline()函数
  6. Django周总结一
  7. T研究:国内云BPM市场规模尚小,预计2018年仅为3.29亿元
  8. IE浏览器中Image对象onload失效的解决办法
  9. 单片机c语言出租车计时程序,基于单片机出租车计价器课题设计c语言编写(样例3)...
  10. c# 再次尝试 连接失败_手机投屏电视连接不上怎么回事?