说其他编程语言之前,我们先说说编程语言的梗:
-
“PHP是世界上最好的语言”
-
“所有的程序都将用JavaScript重写”
-
“人生苦短,我用python”
咱们今天就用一张图来让大家认识,什么是python。
一、Python 的起源
Python 的创始人为吉多·范罗苏姆(Guido van Rossum)
- 1989 年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的解释程序,作为 ABC 语言的一种继承(感觉下什么叫牛人)
- ABC 是由吉多参加设计的一种教学语言,就吉多本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是 ABC 语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在 Python 中避免这一错误,并获取了非常好的效果
- 之所以选中 Python(蟒蛇) 作为程序的名字,是因为他是 BBC 电视剧——蒙提·派森的飞行马戏团(Monty Python’s Flying Circus)的爱好者
- 1991 年,第一个 Python 解释器 诞生,它是用 C 语言实现的,并能够调用 C 语言的库文件
二、 解释器
1、概念
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器
编译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译时间点的不同。当编译器以解释方式运行的时候,也称之为解释器
2、编译型语言和解释型语言的区别
(1)编译型
编译型语言:编译型语言在执行之前要先经过编译过程,编译成为一个可执行的机器语言的文件,比如exe。因为翻译只做一遍,以后都不需要翻译,所以执行效率高。
编译型语言的典型代表:C语言,C++
编译型语言的优缺点:执行效率高,缺点是跨平台能力弱。不便调试
(2)解释型
解释型语言:解释性语言编写的程序不进行预先编译,以文本方式存储程序代码。执行时才翻译执行。程序每执行一次就要翻译一遍。
代表语言:python,JavaScript
优缺点:跨平台能力强,易于调。执行速度慢。
(3)总结
我们将编译型语言和解释型语言的差异总结为下表:
类型 | 原理 | 优点 | 缺点 |
---|---|---|---|
编译型语言 | 通过专门的编译器,将所有源代码一次性转换成特定平台(Windows、Linux 等)执行的机器码(以可执行文件的形式存在)。 | 编译一次后,脱离了编译器也可以运行,并且运行效率高。 | 可移植性差,不够灵活。 |
解释型语言 | 由专门的解释器,根据需要将部分源代码临时转换成特定平台的机器码。 | 跨平台性好,通过不同的解释器,将相同的源代码解释成不同平台下的机器码。 | 一边执行一边转换,效率很低。 |
三、Python的优点
1、优点
- 简单:大部分内容就是英语直接翻译过来的意思一致,让你更专注于解决问题并不用去搞明白语言本身
- 易学:极其容易上手,语法极其简单
- 免费、开源:可以自由的发布、拷贝、阅读源代码,对于它的改动可以被用于新的软件中
- 高级语言:不用考虑底层是如何实现的
- 解释型语言:不需要编译可以直接运行,移植也更容易
- 面向对象:支持面向过程和面向对象的编程
- 丰富的库:标准库很庞大,可以处理各种工作(如:正则表达式、文档生成、线程、数据库、HTML、Word等)
- 规范性:满足pep8格式,强制缩进具有极佳的可读性
2、缺点
-
执行效率慢,这是解释性语言共同的缺点
-
国内市场较小
-
中文资料匮乏
四、Python的应用场景
Python 作为一种解释性脚本语言,其主要的应用有
- web网页internet开发:大中小型的web系统开发
- 科学计算和统计:科研领域内的数据分析和计算,NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能
- 人工智能:计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK
- 客户端窗口程序开发
- 后台软件开发
- 网络爬虫