最近,Python语言越来越火,那什么是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的诞生和由来的更多相关文章

  1. python基础1之 由来、种类、优缺点、安装环境

    python基础1之由来.种类.优缺点.安装环境 一.前世今生 Python的创始人是吉多·范罗苏姆(Guido van Rossum),在1989年开发.今年最新的编程语言排行榜中,python名列 ...

  2. dwSun带你选Python的编辑器/IDE

    dwSun带你选Python的编辑器/IDE Python 是一门简单易学,同时又十分强大的编程语言.特别是随着人工智能的热潮,Python作为AI开发的首选语言,已经是技术人员的必备技能. 在学习和 ...

  3. Python的诞生和各种解释器

    一:Python的诞生 参考:https://www.jianshu.com/p/1cc1382e5e04   二:Python的各种解释器 参考:https://www.liaoxuefeng.co ...

  4. Facebook资深工程师带你学Python核心技术

    人工智能时代下,Python毫无疑问是最热的编程语言.在推开Python的大门后却发现,Python入门容易但精通却不易. 想要精通这门语言,必须真正理解知识概念,比如适当从源码层面深化认知,然后熟悉 ...

  5. [带你飞]一小时带你学会Python

    1.面向的读者: 具有Javascript经验的程序猿. 2 快速入门2.1 Hello world 安装完Python之后,打开IDLE(Python GUI) , 该程序是Python语言解释器, ...

  6. python ctypes 探究 ---- python 与 c 的交互

    近几天使用 python 与 c/c++ 程序交互,网上有推荐swig但效果都不理想,所以琢磨琢磨了 python 的 ctypes 模块.同时,虽然网上有这方面的内容,但是感觉还是没说清楚.这里记录 ...

  7. [转]python ctypes 探究 ---- python 与 c 的交互

    近几天使用 python 与 c/c++ 程序交互,网上有推荐swig但效果都不理想,所以琢磨琢磨了 python 的 ctypes 模块.同时,虽然网上有这方面的内容,但是感觉还是没说清楚.这里记录 ...

  8. 从底层带你理解Python中的一些内部机制

    下面博文将带你创建一个字节码级别的追踪API以追踪Python的一些内部机制,比如类似YIELDVALUE.YIELDFROM操作码的实现,推式构造列表(List Comprehensions).生成 ...

  9. 通过哪吒动漫豆瓣影评,带你分析python爬虫与BeautifulSoup快速入门【华为云技术分享】

    久旱逢甘霖 西安连着几天温度排行全国三甲,也许是<哪吒之魔童降世>的剧组买通了老天,从踩着风火轮的小朋友首映开始,就全国性的持续高温,还好今天凌晨的一场暴雨,算是将大家从中暑边缘拯救回来了 ...

随机推荐

  1. JSX中写 switch case 进行判断

    场景:根据后端返回的数据进行多条件渲染,三元表达式已不能满足条件. 代码: <span> {(() => { switch (record.generalRuleInfos[0]?. ...

  2. FL Studio——电音编曲人的奠基石

    随着近年来摇滚.电音的发展,越来越多的人开始对电子音乐编曲感兴趣,而电音编曲的首要条件,就是需要一个好的DAW(数字音频工作站),常用的DAW有很多,例如Cubase.Nuendo.Pro Tools ...

  3. 编曲技巧:使用FL Studio来制作停顿的效果

    停顿效果是一种在音乐创作中非常常用的音效,它能起到缓冲的作用,而且能使这段旋律更具节奏感,在比较激情的歌曲中尤为常见.例如知名歌手王力宏演唱的<火力全开>中就使用了停顿效果,为歌曲加了不少 ...

  4. 程序员说:为什么喜欢大量使用 if……else if替代switch?

    请用5秒钟的时间查看下面的代码是否存在bug. OK,熟练的程序猿应该已经发现Bug所在了,在第13行下面我没有添加关键字break; 这就导致这段代码的行为逻辑与我的设计初衷不符了. 缺点一. 语法 ...

  5. 【mq读书笔记】消息消费过程(钩子 失败重试 消费偏移记录)

    在https://www.cnblogs.com/lccsblog/p/12249265.html中,PullMessageService负责对消息队列进行消息拉取,从远端服务器拉取消息后将消息存入P ...

  6. 从docker介绍及其简介

    一.引言 1.我本地代码运行没问题啊,但是别人机器运行不了,从而导致环境不一致的问题 2.那个兄弟又写死循环了,怎么这么卡,在多用户的操作系统下,会相互影响. 天猫双十一的情况下,用户量暴涨,从而导致 ...

  7. Centos7安装Kubernetes k8s v1.16.0 国内环境

    一. 为什么是k8s v1.16.0? 最新版的v1.16.2试过了,一直无法安装完成,安装到kubeadm init那一步执行后,报了很多错,如:node xxx not found等.centos ...

  8. 洛谷 P3410 拍照(最大流 + 建图)

    这道题问的是一群人要和另一群人合影,每个客人都有必须在场的人全部在场才能在场,每个客人给的有收入,但是邀请也需要支出,问最大收入? 我觉得可以总结为一类问题,就是有先决条件的网络流问题.看到费用和支出 ...

  9. 第8.34节 《Python类中常用的特殊变量和方法》总结

    本章介绍了Python类中常用的特殊变量和方法,这些特殊变量和方法都有特殊的用途,是Python强大功能的基石之一,许多功能非常有Python特色.由于Python中一切皆对象,理解这些特殊变量和方法 ...

  10. PyQt学习随笔:Qt Designer的Edit Buddies功能

    在Qt Designer的Edit菜单下有个Edit Buddies(编辑伙伴关系)子菜单,该菜单的作用是将一个Label与其他控件关联起来,当Label控件设置了快捷键时,通过Label的快捷键就可 ...