编程语言和Python语言介绍
一、【编程语言介绍】
【1】机器语言
(1)机器语言是什么
- 机器语言就是计算机可以理解的语言,可以直接通过机器语言操作我们的硬件
- 计算机是基于电工作的,高频是0,低频是1
- 计算机通过控制高低频变化来工作
(2)机器指令
- 通过制高低电频的变化组成一系列的指令就叫机器指令,能直接控制计算
(3)如何写机器指令
- 首要的就是记住计算机的全部指令代码和核心代码的含义
- 在编写程序时要时刻注意,走错一步就前功尽弃,所以这是一项很费神的工作
(4)机器语言的示例
- 机器语言的记忆就像摩斯密码一样
'''指令部份的示例'''
0000 代表 加载(LOAD)
0001 代表 存储(STORE)
...
LOAD 0000 # 加载寄存器A
STORE 0001 # 存储到寄存器B
'''暂存器部份的示例'''
0000 代表暂存器 A
0001 代表暂存器 B
...
'''存储器部份的示例'''
000000000000 代表地址为 0 的存储器
000000000001 代表地址为 1 的存储器
000000010000 代表地址为 16 的存储器
100000000000 代表地址为 2^11 的存储器
(5)机器语言的优缺点
- 优点
- 执行效率高(无障碍理解、直接运行)
- 缺点
- 开发效率低
- 跨平台性差
- 耗费的精力大(需要记忆大量指令代码)
【2】汇编语言
(1)什么是汇编语言
- 汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
(2)汇编语言的优缺点
- 优点
- 执行效率高(英文缩写编写程序较简单)
- 执行速度快
- 操作灵活
- 缺点
- 开发效率低
- 跨平台性差
- 程序编写很复杂,容易出错
【3】高级语言
(1)什么是高级语言
-
用人类的语言是在向操作系统发送指令,而非直接操作硬件
-
无需考虑硬件细节
-
但正因为高级语言离硬件较远,更贴近人类语言,执行效率相对较低。
(2)高级语言的分类
- 高级语言可分为:
- 编译型语言
- C、C++、C#、JAVA
- 解释型语言
- Python、Go、PHP
- 编译型语言
(3)什么是编译型语言
[1]编译型
- 编译型语言将源码一次性翻译成目标代码,然后生成可执行文件。
- 修改源码后,需要重新编译整个程序。反之则不用,可直接执行翻译过来的的文件
[2]例子
- 编译型语言就像是你拿到一篇英文文章,不是逐段翻译,而是交给翻译软件,整篇文章进行翻译
- 如果中间某段话出错被修改,再次拿到文章也是进行整段文章翻译
[3]优点
- 执行效率高(编译过一次,下次可直接用)
[4]缺点
- 开发效率低
- 程序一旦修改,必须先修改源码,然后重新编译、生成新的目标文件才能执行
- 跨平台性差
(4)什么是解释型语言
[1]解释型
- 解释型语言是逐句翻译源码,在进行逐句执行,就是翻译到哪里执行到哪里
- 修改源代码后,不需要重新编译整个程序,直接执行即可。
[2]例子
- 编译型语言就像是你拿到一篇英文文章,不是整篇文章翻译,而是交给翻译软件,逐句进行翻译
[3]优点
- 开发效率高
- 不需要改动后再编译
- 跨平台性强
[4]缺点
- 执行效率低
(5)小结
- 综上选择不同编程语言来开发应用程序对比
- 执行效率:机器语言>汇编语言>高级语言(编译型>解释型)
- 开发效率:机器语言<汇编语言<高级语言(编译型<解释型)
- 跨平台性:机器语言<汇编语言<高级语言(编译型<解释型)
二、【Python语言介绍】
【一】Python引入
- 谈及Python,涉及两层意思
- 一层代表的是Python这门语言的语法风格
- 另外一层代表的则是专门用来解释该语法风格的应用程序:python解释器。
【二】Python创始
-
Python的创始人为吉多·范罗苏姆(Guido van Rossum)。
-
Python这个名字,来自Guido所挚爱的电视剧《Monty Python’s Flying Circus》,他希望这个新的叫做Python的语言,能符合他的理想:
- 创造一种C和shell之间,语法能够像shell一样简洁,易学易用、可拓展性强,同时兼顾C的强大功能。
- Python可以应用于众多领域
- 人工智能、数据分析、爬虫、金融量化、云计算、WEB开发、自动化运维/测试、游戏开发、网络服务、图像处理等众多领域。
- Python可从事方向
- 目前业内几乎所有大中型互联网企业都在使用Python
- Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。
【三】Python发展史
-
Python 2.7
-
Python 3.6 - 2016-12-23 发布python3.6.0版
-
2020年: Python 2正式结束支持,用户被鼓励转向Python 3。
-
2020年之后: Python社区继续推动Python 3的普及,许多库和框架逐渐停止对Python 2的支持。
-
2020年: Python 3.8发布,带来了一些新的语言特性和性能改进。
-
2021年: Python 3.9发布,引入了一些新的语法和模块。
-
2022年: Python 3.10发布,继续改进语言的功能和性能。
-
2023年: Python继续在各个领域取得成功,成为数据科学、人工智能和Web开发等领域的首选语言之一。社区和生态系统不断扩大,新的库和框架涌现
【四】Python解释器的种类
(1)CPython
- 官方的Python解释器本质就是基于C语言开发的一个软件,该软件的功能就是读取以.py结尾的文件内容,然后按照Guido定义好的语法和规则去翻译并执行相应的代码。
- 这种用C实现的解释器称为CPython,它是python领域性能最好,应用最广泛的一款解释器,我们在后面提到的解释器指的都是Cpython解释器。
- 但其实解释器作为一款应用软件,完全可以采用其他语言来开发,只要能解释python这门语言的语法即可。
- Python解释器的一些种类如下,简单了解即可
(2)Jython
- JPython解释器是用JAVA编写的python解释器,可以直接把Python代码编译成Java字节码并执行,它不但使基于java的项目之上嵌入python脚本成为可能,同时也可以将java程序引入到python程序之中。
(3)IPython
- IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。
- 这就好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
- CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
(4)PyPy
- PyPy是Python开发者为了更好地Hack Python而用Python语言实现的Python解释器。
- PyPy提供了JIT编译器和沙盒功能,对Python代码进行动态编译(注意不是解释),因此运行速度比CPython还要快。
(5)IronPython
- IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。