1. Python 起源
1.1 解释器
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器。
编译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译时间点的不同。当编译器以解释方式运行的时候,也称之为解释器。
- 编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如 C、C++。
- 解释型语言:解释型语言编写的程序不进行预先编译,以文本方式存储程序代码,会将代码一句一句直接运行。在发布程序时,看起来省了道编译工序,但是在运行程序的时候,必须先解释再运行。
1.2 Python 特点
- Python 是完全面向对象的语言
- 函数、模块、数字、字符串都是对象,在 Python 中一切皆对象
- 完全支持继承、重载、多重继承
- 支持重载运算符,也支持泛型设计
- Python 拥有一个强大的标准库,Python 语言的核心只包含 数字、字符串、列表、字典、文件 等常见类型和函数,而由 Python 标准库提供了 系统管理、网络通信、文本处理、数据库接口、图形系统、XML 处理 等额外的功能。
- Python 社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖 科学计算、人工智能、机器学习、Web 开发、数据库接口、图形系统 多个领域。
1.3 Python 的优缺点
- 优点
- 简单、易学
- 免费、开源
- 面向对象
- 丰富的库
- 可扩展性
- 如果需要一段关键代码运行得更快或者希望某些算法不公开,可以把这部分程序用
C
或C++
编写,然后在Python
程序中使用它们
- 如果需要一段关键代码运行得更快或者希望某些算法不公开,可以把这部分程序用
- ……
- 缺点
- 运行速度
- 国内市场较小
- 中文资料匮乏
2. Python 程序
- Python 源程序就是一个特殊格式的文本文件,可以使用任意文本编辑软件做
Python
的开发 - Python 程序的 文件扩展名 通常都是
.py
Tips:(报错提示)
- error 错误
- name 名字
- defined 已经定义
- syntax 语法
- invalid 无效
- Indentation 索引
- unexpected 意外的,不期望的
- character 字符
- line 行
- encoding 编码
- declared 声明
- details 细节,详细信息
- ASCII 一种字符编码
3. Python 2.x
与 3.x
版本简介
目前市场上有两个 Python 的版本并存着,分别是 Python 2.x
和 Python 3.x
新的 Python 程序建议使用
Python 3.0
版本的语法
- Python 2.x 是 过去的版本
- 解释器名称是 python
- Python 3.x 是 现在和未来 主流的版本
- 解释器名称是 python3
- 相对于
Python
的早期版本,这是一个 较大的升级 - 为了不带入过多的累赘,
Python 3.0
在设计的时候 没有考虑向下兼容- 许多早期
Python
版本设计的程序都无法在Python 3.0
上正常执行
- 许多早期
- Python 3.0 发布于 2008 年
- 到目前为止,Python 3.0 的稳定版本已经有很多年了
- Python 3.3 发布于 2012
- Python 3.4 发布于 2014
- Python 3.5 发布于 2015
- Python 3.6 发布于 2016
- 为了照顾现有的程序,官方提供了一个过渡版本 —— Python 2.6
- 基本使用了
Python 2.x
的语法和库 - 同时考虑了向
Python 3.0
的迁移,允许使用部分Python 3.0
的语法与函数 - 2010 年中推出的
Python 2.7
被确定为 最后一个Python 2.x 版本
- 基本使用了
提示:如果开发时,无法立即使用 Python 3.0(还有极少的第三方库不支持 3.0 的语法),建议
- 先使用
Python 3.0
版本进行开发- 然后使用
Python 2.6
、Python 2.7
来执行,并且做一些兼容性的处理
4. 执行 Python 程序的三种方式
4.1 解释器 python
/ python3
1) Python 的解释器
1 | # 使用 python 2.x 解释器 |
2) 其他解释器
Python 的解释器 如今有多个语言的实现,包括:
CPython
—— 官方版本的 C 语言实现Jython
—— 可以运行在 Java 平台IronPython
—— 可以运行在 .NET 和 Mono 平台PyPy
—— Python 实现的,支持 JIT 即时编译
4.2 交互式运行 Python 程序
- 直接在终端中运行解释器,而不输入要执行的文件名
- 在 Python 的
Shell
中直接输入 Python 的代码,会立即看到程序执行结果
1) 交互式运行 Python 的优缺点
- 优点
- 适合于学习/验证 Python 语法或者局部代码
- 缺点
- 代码不能保存
- 不适合运行太大的程序
2) 退出 官方的解释器
- 1> 直接输入
exit()
1 | exit() |
- 2> 使用热键退出
在 python 解释器中,按热键ctrl + d
可以退出解释器
3) IPython
- IPython 中 的 “I” 代表 交互 interactive
特点
- IPython 是一个 python 的 交互式 shell,比默认的
python shell
好用得多- 支持自动补全
- 自动缩进
- 支持
bash shell
命令 - 内置了许多很有用的功能和函数
- IPython 是基于 BSD 开源的
版本
- Python 2.x 使用的解释器是 ipython
- Python 3.x 使用的解释器是 ipython3
要退出解释器可以有以下两种方式:
- 1> 直接输入
exit
1 | In [1]: exit |
- 2> 使用热键退出
在 IPython 解释器中,按热键ctrl + d
,IPython
会询问是否退出解释器
4.3. Python 的 IDE —— PyCharm
1) 集成开发环境(IDE)
集成开发环境(IDE
,Integrated Development Environment)—— 集成了开发软件需要的所有工具,一般包括以下工具:
- 图形用户界面
- 代码编辑器(支持 代码补全/自动缩进)
- 编译器/解释器
- 调试器(断点/单步执行)
- ……
2)PyCharm 介绍
PyCharm
是 Python 的一款非常优秀的集成开发环境PyCharm
除了具有一般 IDE 所必备功能外,还可以在Windows
、Linux
、macOS
下使用PyCharm
适合开发大型项目- 一个项目通常会包含 很多源文件
- 每个 源文件 的代码行数是有限的,通常在几百行之内
- 每个 源文件 各司其职,共同完成复杂的业务功能