什么是Python
Python是一门程序设计语言
1.自然语言:人能听懂的语言(汉语、英语、法语等)
2.机器语言:机器能听懂的语言(0、1代码----微码编程)
3.程序设计语言:机器能听懂,人也能听懂:c c++ c# java python
符合语法规范
语言的高级性:越接近于人类的语言越高级(Python高级)高级低级无优劣之分

*Python的历史
创始人:Guido van Rossum
1989年圣诞节期间—Python(蟒蛇)
Google
Guido退出了Python决策层—好事(至于为什么是好事有兴趣的小伙伴可以自行百度~~~~)

*Python的特点
主要特点:
1.语法简洁优雅(通过文本的缩进来标记代码的位置)
2.有着非常强大的类库(cheese shop—145000)
3.胶水语言(粘其他语言的类库)
4.面向对象的编程(核心:模拟现实世界,从而解决现实世界的问题)
其他特点:
1.跨平台性:平台:OS
2.将编译成字节码:bytecode(本质是一个二进制文件—010101—不能直接运行在机器上)虚拟机
3.代码量较少:Python语言的优雅性

*Python的运行机制
程序员:源文件 计算机只能识别 0101语言 转化
1.编译型:
将源文件通过编译器,编译成机器码文件(即机器可直接读懂的文件—>0,1代码),当运行的时候,直接运行机器码文件(.exe)
2.解释型:
将源文件通过解释器,逐行翻译并运行

解释型:不生成任何文件
					  1.执行效率低(逐行翻译)
					  2.可以跨平台
		编译型:生成新的文件
					  1.执行效率高(机器码文件(0/1)可以直接执行)
					  2.机器码文件不可以跨平台(操作系统)
	解释型相当于请翻译,不生成新文件,跨平台性相当于在不同的操作系统上选择相应的翻译器将源文件进行翻译(翻译为0/1代码)。
	编译型是将源文件在此操作系统上用此操作系统支持的语法将源文件编译成此操作系统可识别的0/1文件,由于0/1是计算机可识别的语句,故执行效率高,但由于这个新生成的文件是用此操作系统支持的语法编译成的,放到另一个不同的操作系统上由于不同操作系统语法不同故不可以识别,即机器码文件不可以跨平台。
	网上找到的一张图片,看图更容易理解。
	![编译型与解释型图解]()

3.Python的运行机制
a.先编译后解释
源文件----编译器----编译成字节码文件----传递给虚拟机(解释器)并运行
(跨平台则可将字节码文件在不同操作系统中在不同的虚拟机上执行,既执行效率高又实现了跨平台
源文件:.py
编译器:compiler
字节码文件:bytecode----.pyc/.pyo文件
虚拟机(解释器):interpreter----PVM(Python Virtual Machine)
处理器:processer
b.以脚本的形式执行(解释型)

*Python的实现
以脚本的形式运行----不需要编译器----只需要解释器(效率低但使用方便)
先编译后解释:最主要不是为了提高效率,而是为了数据安全 源文件编译为字节码文件----01010

程序员:源文件
客户:拿不到源文件----只有字节码文件,虚拟机
1.客户一般不懂编程
2.程序的升级维护

Python的解释器
1.CPython:
原始,标准的实现方式
用c语言编写的解释器(虚拟机)
CPython的使用是最广泛的
2.Jython
用Java编写的解释器:可以直接运行在Java的类库
3.IronPython:
用.net框架实现的解释器(c#),项目停止研发
4.Pypy:
用Python实现的解释器,算法优化
运行效率高,速度快
(初学阶段用Cpython)