Python预备知识
01 认识Python
Python 的创始人为吉多·范罗苏姆(Guido van Rossum)
1.1 解释器
- 计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器
- 编译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译时间点的不同。当编译器以解释方式运行的时候,也称之为解释器
- 编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++
- 解释型语言:解释型语言编写的程序不进行预先编译,以文本方式存储程序代码,会将代码一句一句直接运行。在发布程序时,看起来省了道编译工序,但是在运行程序的时候,必须先解释再运行
- 编译型语言和解释型语言对比
速度 —— 编译型语言比解释型语言执行速度快
跨平台性 —— 解释型语言比编译型语言跨平台性好
1.2 Python的特点
- Python 是完全面向对象的语言
○函数、模块、数字、字符串都是对象,在 Python 中一切皆对象
○完全支持继承、重载、多重继承
○支持重载运算符,也支持泛型设计 - Python 拥有一个强大的标准库,Python 语言的核心只包含 数字、字符串、列表、字典、文件 等常见类型和函数,而由 Python
标准库提供了 系统管理、网络通信、文本处理、数据库接口、图形系统、XML 处理 等额外的功能 - Python 社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖 科学计算、人工智能、机器学习、Web开发、数据库接口、图形系统 多个领域
02 执行Python程序
2.1 Python源程序的基本概念
- Python 源程序就是一个特殊格式的文本文件,可以使用任意文本编辑软件做 Python 的开发
- Python 程序的文件扩展名 通常都是
.py
2.2 认识错误(BUG)
- 编写的程序不能正常执行,或者执行的结果不是我们期望的,俗称 BUG
- 常见错误
① 手误
NameError: name 'pirnt' is not defined
名称错误:'pirnt' 名字没有定义
② 将多条print
写在一行
SyntaxError: invalid syntax
语法错误:语法无效
③ 缩进错误
IndentationError: unexpected indent
缩进错误:不期望出现的缩进
④ python 2.x 默认不支持中文
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/ 了解详细信息
- Python 2.x 的解释器名称是 python
- Python 3.x 的解释器名称是 python3,为了不带入过多的累赘,Python 3.0 在设计的时候 没有考虑向下兼容
- 常见单词列表
error 错误
name 名字
defined 已经定义
syntax 语法
invalid 无效
Indentation 索引
unexpected 意外的,不期望的
character 字符
line 行
encoding 编码
declared 声明
details 细节,详细信息
ASCII 一种字符编码
2.3 执行 Python 程序的三种方式
2.3.1. 解释器 python / python3
- 使用 python 2.x 解释器
python xxx.py
- 使用 python 3.x 解释器
python3 xxx.py
- 其他解释器
CPython
—— 官方版本的 C 语言实现Jython
—— 可以运行在 Java 平台IronPython
—— 可以运行在 .NET 和 Mono 平台PyPy
—— Python 实现的,支持 JIT 即时编译
2.3.2 交互式运行 Python 程序
- 直接在终端中运行解释器,而不输入要执行的文件名
- 在 Python 的
Shell
中直接输入 Python 的代码,会立即看到程序执行结果 - 交互式运行 Python 的优缺点
- 优点
- 适合于学习/验证 Python 语法或者局部代码
- 缺点
- 代码不能保存
- 不适合运行太大的程序
- 优点
- 退出官方的解释器
① 直接输入exit()
② 使用热键退出ctrl + d
2.3.2.1 IPython
- IPython 中 的 “I” 代表交互interactive
- IPython 的安装
sudo apt install ipython
- 特点
- IPython 是一个 python 的 交互式 shell,比默认的 python shell 好用得多
- 支持自动补全
- 自动缩进
- 支持 bash shell 命令
- 内置了许多很有用的功能和函数
- IPython 是一个 python 的 交互式 shell,比默认的 python shell 好用得多
- IPython 是基于 BSD 开源的
- 退出IPython解释器
① 直接输入exit
② 使用热键退出ctrl + d
2.3.3 Python 的 IDE —— PyCharm
- 集成开发环境(IDE,Integrated Development Environment)—— 集成了开发软件需要的所有工具,一般包括以下工具:
- 图形用户界面
- 代码编辑器(支持 代码补全/自动缩进)
- 编译器/解释器
- 调试器(断点/单步执行)
03 配置PyCharm
3.1 Linux下PyCharm的下载和安装
3.1.1 Linux版下载
3.1.2 安装和启动步骤
① 执行以下终端命令,解压缩下载后的安装包
tar -zxvf pycharm-professional-2017.1.3.tar.gz
② 将解压缩后的目录移动到 /opt
目录下,可以方便其他用户使用
/opt 目录用户存放给主机额外安装的软件
sudo mv pycharm-2017.1.3/ /opt/
③ 切换工作目录
cd /opt/pycharm-2017.1.3/bin
④ 启动 PyCharm
./pycharm.sh
3.1.3 设置专业版启动图标
① 在专业版中,选择菜单Tools / Create Desktop Entry...
可以设置任务栏启动图标
注意:设置图标时,需要勾选 Create the entry for all users
② 创建快捷方式
1.编辑快捷方式文件
sudo gedit /usr/share/applications/jetbrains-pycharm.desktop
-
按照以下内容修改文件内容,需要注意指定正确的
pycharm
目录[Desktop Entry] Version=1.0
Type=Application Name=PyCharm
Icon=/opt/pycharm-edu-3.5.1/bin/pycharm.png (图标文件位置)
Exec="/opt/pycharm-edu-3.5.1/bin/pycharm.sh" %f (执行文件目录)
Comment=The Drive to Develop
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm
3.1.4 卸载之前版本的 PyCharm
1.程序安装
-
程序文件目录
将安装包解压缩,并且移动到/opt
目录下
所有的相关文件都保存在解压缩的目录中 -
配置文件目录
启动PyCharm
后,会在用户家目录下建立一个.PyCharmxxx
的隐藏目录
保存 PyCharm 相关的配置信息 -
快捷方式文件
/usr/share/applications/jetbrains-pycharm.desktop
在 ubuntu 中,应用程序启动的快捷方式通常都保存在 /usr/share/applications 目录下
2.程序卸载
要卸载 PyCharm 只需要做以下两步工作:
- 删除解压缩目录
sudo rm -r /opt/pycharm-2016.3.1/
- 删除家目录下用于保存配置信息的隐藏目录
rm -r ~/.PyCharm2016.3/
- 如果不再使用
PyCharm
还需要将/usr/share/applications/
下的
jetbrains-pycharm.desktop
删掉
3.2 导入配置信息
- 在第一次启动 PyCharm 时,会首先提示用户是否导入之前的配置信息
- 如果是第一次使用,直接点击 OK 按钮
- 激活许可证,参考永久激活
- 在初始配置界面,可以通过
Editor colors and fonts
选择 编辑器的配色方案
3.3 打开一个 Python 项目
3.3.1 项目简介
- 开发项目就是开发一个专门解决一个复杂业务功能的软件
- 通常每 一个项目 就具有一个独立专属的目录,用于保存所有和项目相关的文件
- 一个项目通常会包含 很多源文件
3.3.2 打开 Python 项目
- 直接点击
Open
按钮,然后浏览到之前保存 Python 文件的目录,既可以打开项目 - 打开之后,会在目录下新建一个
.idea
的目录,用于保存项目相关的信息,例如:解释器版本、项目包含的文件等等 - 第一次打开项目,需要耐心等待
PyCharm
对项目进行初始设置
3.3.3 设置项目使用的解释器版本
- 打开的目录如果不是由 PyCharm 建立的项目目录,有的时候 使用的解释器版本是 Python 2.x 的,需要单独设置解释器的版本
- 通过
File / Settings
… 可以打开设置窗口,如下图所示:
- 若第一次配置的话需要下载Python解释器,在右侧工具里选择解释器文件添加
3.3.4 恢复 PyCharm 的初始设置
PyCharm
的配置信息是保存在 用户家目录下 的.PyCharmxxxx.x
目录下的,xxxx.x 表示当前使用的PyCharm
的版本号- 如果要恢复
PyCharm
的初始设置,可以按照以下步骤进行:
○ 关闭正在运行的PyCharm
○ 在终端中执行以下终端命令,删除PyCharm
的配置信息目录:
rm -r ~/.PyCharm2016.3
○重新启动PyCharm
3.4 新建一个项目
3.4.1 命名规则
- 命名文件名时建议只使用小写字母、数字和下划线
- 文件名不能以数字开始
- 通过欢迎界面或者菜单
File / New Project
可以新建项目
3.4.2 设置 PyCharm 的字体显示
- 设置编辑器字体
- 设置控制台字体
3.5 PyCharm界面结构
-
文件导航区域 能够 浏览/定位/打开 项目文件
-
文件编辑区域 能够 编辑 当前打开的文件
-
控制台区域能够:
- 输出程序执行内容
- 跟踪调试代码的执行
-
右上角的 工具栏 能够 执行(
SHIFT + F10
) / 调试(SHIFT + F9
) 代码 -
通过控制台上方的单步执行按钮(
F8
),可以单步执行代码,需要先加入断点
-
F8 Step Over
可以单步执行代码,会把函数调用看作是一行代码直接执行 -
F7 Step Into
可以单步执行代码,如果是函数,会进入函数内部 -
让选中的程序执行
-
在 PyCharm 中,要想让哪一个 Python 程序能够执行,必须首先通过鼠标右键的方式执行一下
04 程序执行原理
4.1 计算机中的主要硬件组成
- 计算机中包含有较多的硬件,但是一个程序要运行,有三个核心的硬件,分别是:
- CPU
- 中央处理器,是一块超大规模的集成电路
- 负责 处理数据/计算
- 内存
- 临时存储数据(断电之后,数据会消失)
- 速度快 空间小(单位价格高)
- 硬盘
- 永久存储数据
- 速度慢
- 空间大(单位价格低)
- CPU
4.2 程序执行的原理
- 程序运行之前,程序是保存在硬盘中的
- 当要运行一个程序时
- 操作系统会首先让CPU把程序复制到内存中
- CPU执行内存中的程序代码
- 程序要执行,首先要被加载到内存
4.3 Python 程序执行原理
- 操作系统会首先让CPU把Python解释器的程序复制到内存中
- Python 解释器根据语法规则,从上向下让CPU翻译Python程序中的代码
- CPU负责执行翻译完成的代码