从这里走进Python的世界

送分小仙女□ 提交于 2020-11-17 07:56:56

人生苦短,我用Python

									---Life is short,you need Python
  • Python的起源
  • 为什么要用Python?
  • Python的特点
  • Python的优缺点

Python的起源

吉多.范罗苏姆(Guido van Rossum)
Python的创始人为 吉多.范罗苏姆(Guido van Rossum)

  • 1.1989年的圣诞节期间,吉多.范罗苏姆(Guido van Rossum)为了在阿 姆斯特丹打发时间,决心开发一个新的解释程序,作为ABC语言的一种继承(感觉一下什么叫牛人

  • 2.ABC是由吉多参加设计的教学语言,就吉多本人来看,ABC这种语言非常优美和强大,是专门为非程序员设计的。但是ABC语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在Python中避免这一错误,并获得了非常好的效果。

  • 3.之所以选中Python(蟒蛇)作为程序的名字,是因为他是BBC电视剧----蒙提.派森的飞行马戏团的爱好者。

  • 4.1991年,第一个Python解释器诞生,它是用C语言实现的,并能够调用C语言的库文件

解释器(科普)

解释器

计算机编程语言

从计算机编程语言说起,它主要分为三类:机器语言、汇编语言、高级语言。

机器语言是一种计算机可以直接识别并执行的二进制指令集。由于其可以直接交给CPU执行,所以是最快的,但是它需要我们记住每一个指令的代码与对应的动作,想想我们写代码的时候是操作一串串的01序列,难度得有多大。

为了克服机器语言的缺点,人们就用一些助记符来代替机器码,也就是使用一些与实际意义相近的缩略词来代替动作,例如ADD、SUB、MOV等,这就有了很大的进步,可以方便的编写,但是它仍然是对机器进行操作的,相较于高级程序语言更接近于底层,所以汇编语言是低级语言。

不论是机器语言还是汇编语言都是面向硬件的操作,它们对于机器是依赖的,不同的设备对应的编写方式可能不同。然而,高级语言是面向用户的语言,我们只要编写好程序内容,通过编译或者解释程序,就可以对机器进行操作。这里提到的编译或者解释程序就是一个翻译工具,将人类看懂的语言翻译成机器能看懂的东西。

解释型语言VS编译型语言

解释型语言和编译型语言的共同目标都是为了将我们所认识的语句(例如循环、判断)转成二进制代码,再交给计算机执行。

区别

二者之间最明显的区别,编译型语言就是指在我们把程序写完之后,把代码完全翻译成二进制文件,通过执行该二进制文件来执行程序;而解释型语言没有转二进制文件的过程,而是什么时候需要,什么时候编译。有人说,这算什么区别呢?还没有说完,编译型语言生成二进制文件后,那这个二进制文件就可以直接执行,而解释型语言需要随时带着这个解释器,必须随叫随到。因此、产生了各种方面的差异,以下是我所理解的较为明显的差异

性能方面

编译型语言
解释型语言

运行速度
快(二进制文件)
慢(边解释边执行)
可移植性(跨平台)
差(CPU指令系统变则执行出错)
好(随身带着解释器)
更新
重新编译
仅解释更新的内容
安全
好(无需提供源码)
差(连同源码一起交付)











Python解释器

有了上面的描述,想必知道解释器是怎么回事了。解释器其实也包括编译过程,只是这个编译过程没有生成目标代码。Python解释器由编译器和虚拟机构成,编译器将源代码转换成字节码,然后再通过Python虚拟机来逐行执行这些字节码。

python程序执行过程:

1、执行 .py 文件,就会启动python解释器
2、编译器将源文件解释成字节码
3、虚拟机将字节码转化成机器语言,与操作系统交互
4、程序运行结束后,将字节码存到pyc文件,便于后续直接执行


python解释器有很多种:

CPython:C语言开发,使用最广,默认的解释器
IPython:基于CPython之上的交互式解释器
PyPy:采用JIT技术,对python代码进行动态编译,追求执行速度
Jython:运行在Java平台上的解释器,可以直接编译成Java字节码执行 IronPython:同理Jython,运行在 .Net平台上


虽说有那么多种解释器,但是我们常用的还是CPython,而对于Java、.Net平台来说,更常用网络调用来交互。我个人来说,平时测试经常使用IPython,很方便。

世界语言排行榜

2020年10月编程语言排行榜
Python正接近第二名
Python的受欢迎程度已经十分逼近排在第二位的Java,本月排名率为11.28%,达到历史新高。

世界语言排行榜

TIOBE2020年10月排行榜前20名

Python排名

TIOBE榜单以来,C和Java一直占据了前两名的位置,Python算是后起之秀,去年才上升至第三名,依照目前的走势来看,截止今年年底Python超过Java的可能性很大。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!