解释器
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器
编译器翻译的方式有两种:
- 一个是编译
- 另外一个是解释。
两种方式之间的区别在于翻译时间点的不同。当编译器以解释方式运行的时候,也称之为解释器
编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如 C、C++
解释型语言:解释型语言编写的程序不进行预先编译,以文本方式存储程序代码,会将代码一句一句直接运行。在发布程序时,看起来省了道编译工序,但是在运行程序的时候,必须先解释再运行
编译型语言和解释型语言对比
-
速度 —— 编译型语言比解释型语言执行速度快
-
跨平台性 —— 解释型语言比编译型语言跨平台性好
Python 特点
-
Python 是完全面向对象的语言
-
函数、模块、数字、字符串都是对象,在 Python 中一切皆对象
-
完全支持继承、重载、多重继承
-
支持重载运算符,也支持泛型设计
-
-
Python 拥有一个强大的标准库,Python 语言的核心只包含 数字、字符串、列表、字典、文件 等常见类型和函数,而由 Python 标准库提供了 系统管理、网络通信、文本处理、数据库接口、图形系统、XML 处理 等额外的功能
-
Python 社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖 科学计算、人工智能、机器学习、Web 开发、数据库接口、图形系统 多个领域
面向对象的思维方式
-
面向对象 是一种 思维方式,也是一门 程序设计技术
-
要解决一个问题前,首先考虑 由谁 来做,怎么做事情是 谁 的职责,最后把事情做好就行!
-
对象 就是 谁
-
-
要解决复杂的问题,就可以找多个不同的对象,各司其职,共同实现,最终完成需求
Python 的优缺点
优点
-
简单、易学
-
免费、开源
-
面向对象
-
丰富的库
-
可扩展性
-
如果需要一段关键代码运行得更快或者希望某些算法不公开,可以把这部分程序用
C
或C++
编写,然后在Python
程序中使用它们
-
-
……
缺点
-
运行速度
-
国内市场较小
-
中文资料匮乏
Python常见报错信息
1> 手误,例如使用 pirnt("Hello world")
NameError: name 'pirnt' is not defined
名称错误:'pirnt' 名字没有定义
2> 将多条 print
写在一行
SyntaxError: invalid syntax
语法错误:语法无效
每行代码负责完成一个动作
3> 缩进错误
IndentationError: unexpected indent
缩进错误:不期望出现的缩进
4> python 2.x 默认不支持中文
目前市场上有两个 Python 的版本并存着,分别是 Python 2.x
和 Python 3.x
-
Python 2.x 默认不支持中文,具体原因,等到介绍 字符编码 时给大家讲解
-
Python 2.x 的解释器名称是 python
-
Python 3.x 的解释器名称是 python3
SyntaxError: Non-ASCII character '\xe4' in file 01-HelloPython.py on line 3,
but no encoding declared;
see http://python.org/dev/peps/pep-0263/ for details
语法错误: 在 01-HelloPython.py 中第 3 行出现了非 ASCII 字符 '\xe4',但是没有声明文件编码
请访问 http://python.org/dev/peps/pep-0263/ 了解详细信息
单词列表
* error 错误
* name 名字
* defined 已经定义
* syntax 语法
* invalid 无效
* Indentation 索引
* unexpected 意外的,不期望的
* character 字符
* line 行
* encoding 编码
* declared 声明
* details 细节,详细信息
* ASCII 一种字符编码
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
来执行,并且做一些兼容性的处理
执行 Python 程序的三种方式
解释器 python
/ python3
Python解释器
# 使用 python 2.x 解释器
$ python xxx.py
# 使用 python 3.x 解释器
$ python3 xxx.py
Python 的解释器 如今有多个语言的实现,包括:
-
CPython
—— 官方版本的 C 语言实现 -
Jython
—— 可以运行在 Java 平台 -
IronPython
—— 可以运行在 .NET 和 Mono 平台 -
PyPy
—— Python 实现的,支持 JIT 即时编译
交互式运行 Python 程序
-
直接在终端中运行解释器,而不输入要执行的文件名
-
在 Python 的
Shell
中直接输入 Python 的代码,会立即看到程序执行结果
1、交互式运行 Python 的优缺点
优点
-
适合于学习/验证 Python 语法或者局部代码
缺点
-
代码不能保存
-
不适合运行太大的程序
2、退出 官方的解释器
1> 直接输入 exit()
>>> 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
In [1]: exit
2> 使用热键退出
在 IPython 解释器中,按热键 ctrl + d
,IPython
会询问是否退出解释器
IPython 的安装
$ sudo apt install ipython
Python 的 IDE —— PyCharm
1) 集成开发环境(IDE)
集成开发环境(IDE
,Integrated Development Environment)—— 集成了开发软件需要的所有工具,一般包括以下工具:
-
图形用户界面
-
代码编辑器(支持 代码补全/自动缩进)
-
编译器/解释器
-
调试器(断点/单步执行)
-
……
2)PyCharm 介绍
-
PyCharm
是 Python 的一款非常优秀的集成开发环境 -
PyCharm
除了具有一般 IDE 所必备功能外,还可以在Windows
、Linux
、macOS
下使用 -
PyCharm
适合开发大型项目-
一个项目通常会包含 很多源文件
-
每个 源文件 的代码行数是有限的,通常在几百行之内
-
每个 源文件 各司其职,共同完成复杂的业务功能
-
3)PyCharm 快速体验
通过控制台上方的单步执行按钮(F8),可以单步执行代码