1 语言的类型
- 与CPU的交流:所有的程序都是二进制数字。即只由0和1两个数字组成的序列。
- 汇编:因为0和1组成的程序不具备可读性,因此发明了汇编语言。直接操作CPU的器件(运算器寄存器和控制器)。所谓汇编(动词)就是将汇编语言翻译成二进制代码的过程。
- 编程语言:因为汇编语言没有移植性,发明了一次编写,多次翻译(编译)的编程语言。
- 编译性语言和解释性语言:在不同的硬件环境和系统环境上,装上对应版本的解释器,而解释器解释解析性语言的时候,语法是不变的,因此一次编写,可以跑在不同平台上,而且,免去了编译的环节,提高了开发效率,降低开发维护成本,缺点是必须安装解释器,一般成为环境
- 编译型语言是指使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码一次性“翻译”成可被该平台硬件执行的机器码(包括机器指令和操作数),并包装成该平台所能识别的可执行程序的格式,这个转换过程称为编译( Compile)
- 编译生成的可执行程序可以脱离开发环境,在特定的平台上独立运行。
- 有些程序编译结束后,还可能需要对其他编译好的目标代码进行链接,即组装两个以上的目标代码模块生成最终的可执行程序,通过这种方式实现低层次的代码复用。
- 因为编译型语言是一次性编译成机器码的,所以可以脱离开发环境独立运行,而且通常运行效率较高。但因为编译型语言的程序被编译成特定平台上的机器码,因此编译生成的可执行程序通常无法移植到其他平台上运行,如果需要移植,则必须将源代码复制到特定平台上
2 Python语言特点
Python是种面向对象、解释型弱类型的脚本语言,它也是_种功能大而完善的通用型语言相比其他编程语言(比如Java), Python代码非常简单,上手非常容易。比如我们要完成某个功能,如果用Java需要100行代码,但用 Python可能只需要20行代码,这是 Python具有巨大吸引力的一大特点。
2.1 可扩展性
Python的两大特色是清晰的语法和可扩展性:
- Python的语法非常清晰,它甚至不是一种格式自由的语言。例如,它要求讦语句的下一行必须向右缩进,否则不能通过编译。
- Python的可扩展性体现为它的模块, Python具有脚本语言中最丰富和强大的类库(这些类库被形象地称为“ batteries included,内置电池”),这些类库覆盖了文件I/O、GUI、网络编程、数据库访问、文本操作绝大部分应用场景。
此外, Python的社区也很发达,即使一些小众的应用场景, Python往往也有对应的开源模块来提供解决方案。
Python作为一门解释型的语言,它天生具有跨平台的特征,只要为平台提供了相应的 Python解释器,Python就可以在该平台上运行。
解释星语言几乎先天就是跨平台的
2.2 Python的弱点
Python自然也具有解释型语言的一些弱点:
1.速度慢: Python程序比Java、C、C++等程序的运行效率都要慢。
2.源代码加密困难不像编译型语言的源程序会被编译成目标程序, Python直接运行源程序,因此对源代码加密比较困难。
上面两个问题其实不是什么大问题,关于第—个问题,由于目前计算机的硬件速度越来越快,软件工程往往更关注开发过程的效率和可靠性,而不是软件的运行效率;至于第二个问题,则更不是问题了,现在软件行业的大势本来就是开源,就像Java程序同样很容易反编译,但丝毫不会影晌它的流行。
2.3 python解释器
(1) Cpython(官方推荐)
转化成c语言能识别的二进制码
(2)Jpython
转化成java语言能只别的二进制码
(3)其他语言解释器
把 python转化成其他语言能识只别的二进制码
(4)PyPy
将所有代码一次性编译成二进制码,加快执行效率(模仿编译型语言的款 python解释器)
window的python的环境已经安装3.6.5版本
pip包管理器
3 linux安装python3
[root@node10 ~]# python -V
Python 2.7.5
[root@node10 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@node10 ~]# yum clean all
[root@node10 ~]# yum makecache
[root@node10 ~]# yum install -y python3
[root@node10 ~]# python3 -V
Python 3.6.8
[root@node10 ~]# ll /usr/bin/python
lrwxrwxrwx. 1 root root 7 Nov 22 09:59 /usr/bin/python -> python2
[root@node10 ~]# ll /usr/bin/python3
lrwxrwxrwx. 1 root root 9 Nov 22 10:49 /usr/bin/python3 -> python3.6
[root@node10 ~]# yum install python36-pip -y
[root@node10 ~]# yum install python36-devel -y
安装python3完成