学习目标
- 熟悉Python开发环境配置
- 熟悉Python的安装和运行
- 熟悉Anaconda包的安装
- 熟悉Anaconda包管理器的使用
- 熟悉Jupyter notebook编辑器的使用
- 初识Python开发
一.Python语言的历史
- 创始人:Guido van Rossum(吉多·范罗苏丹)
- 时间地点:1989年圣诞节期间在阿姆斯特丹创造
二.为什么要用Python
- 简单易学:非计算机专业的入门语言
- 功能丰富:丰富的API、免费库、"glue language"
- 用户群体多:YouTube、Google、Yahoo、NASA、MIT、SJTU
三. Python语言的应用
- web开发
- 爬虫开发
- 云计算开发
- 人工智能
- 自动化运维
- 数据分析
- 科学计算
四.Python语言的特点
- 免费的
- 可扩展的
- 可移植的
- 跨品台的
五. Python语言的优点
Python的优点 |
易于扩展 | 语法简洁 | 可移植性 | 动态语言 | 高性能 | 面向对象 | 功能强大 | 健壮性 |
六.Python语言的缺点
- python2.x和python3.x不兼容
- 比C/C++执行效率低
七.软件实现
- CPython,是Python的官方版本,使用C语言实现,使用最为广泛,新的语言特性一般也最先出现在这里。
- Jython,是Python的Java实现,它与Java语言之间的互操作性要远远高于CPython和C语言之间的互操作性。
- Python for .NET,实质上是CPython实现的.NET托管版本,它与.NET库和程序代码有很好的互操作性。
- IronPython,是一种在.NET及Mono上的Python实现,基于微软的DLR引擎。IronPython并未实现Python通用类库,仅实现了部分核心类。
- PyPy,是Python的Python实现版本。可以很容易地修改PyPy解释器的实现。
- Stackless:CPython难以实现用户级的线程库和复杂递归应用,Stackless的Python实现突破了这个限制。
八.Python的安装方式
- 采用Python官方软件安装
- 利用Anaconda包管理器安装和管理Python软件
<span style="color:#000000"><span style="background-color:#ffffff"><code class="language-python"><span style="color:#880000">1</span> + <span style="color:#880000">1</span>
</code></span></span>
<span style="color:#000000"><span style="background-color:#ffffff"><code class="language-python"><span style="color:#0000ff">print</span>(<span style="color:#a31515">"Hello Python!"</span>)
</code></span></span>
九.Python中常见程序文件扩展名
- .py:Python源文件,由Python解释器负责解释执行。
- .pyw:Python源文件,用于图形界面程序文件,也是由Python解释器解释执行。
- .pyc:Python字节码文件,可用于隐藏Python源代码和提高运行速度。
十.Python常用类库
- Numpy
- 数据分析、机器学习和科学计算的主力军。极大地简化了向量和矩阵的操作处理。
- 能对数值数据进行切片(slice)和切块(dice)。
- SciPy
- 基于NumPy开发的高级模块,依赖于NumPy,提供了许多数学算法和函数的实现,可便捷快速地解决科学计算中的一些标准问题,如数值积分和微分方程求解、最优化、甚至包括信号处理等。
- 是Python科学计算程序的核心包。
- Pandas
- 提供了大量快速便捷处理数据的函数和方法。
- 主要的数据结构有Series、DataFrame和Panel。其中Series是一维数组,与NumPy中的一维array以及Python基本的数据结构List类似;DataFrame是二维的表格型数据结构,可以将DataFrame理解为Series的容器;Panel是三维的数组,可看作为DataFrame的容器。
- Matplotlib
- 是Python的绘图库,是用于生成出版质量级别图形的桌面绘图包,让用户很轻松地将数据图形化,同时还提供多样化的输出格式。
- Seaborn
- 在Matplotlib基础上提供了一个绘制统计图形的高级接口,为数据的可视化分析工作提供了极大的方便,使得绘图更加容易。
- 用Matplotlib最大的困难是其默认的各种参数,而Seaborn则完全避免了这一问题。
- Scikit-learn
- 专门面向机器学习的Python开源框架,它实现了各种成熟的算法,容易安装和使用。
- 基本功能有分类、回归、聚类、数据降维、模型选择和数据预处理六大部分。
十一.Python库的使用
Python使用pip工具来管理扩展库,默认情况下,Python 3.x会自动安装pip工具。pip命令不仅可以实时查看本机已经安装的扩展库列表,还支持扩展库的安装、升级、卸载等操作。注意:用pip命令管理Python扩展库需要在命令提示符环境中进行,并且需要切换至pip所在目录。
pip命令示例 | 说明 |
---|
pip install Package | 安装Package模块文件 |
pip list | 列出当前已安装的所有模块文件 |
pip install --upgrade Package | 升级Package模块文件 |
pip uninstall Package | 卸载Package模块文件 |
pip install Package.whl | 使用轮子文件whl直接安装Package |
Python启动时,仅加载了很少一部分模块,其它模块需要由程序员显式加载:
- 导入某模块中的所有对象,并设置别名
- 导入某模块中的某对象,并设置别名
- from 模块名 import 对象名 [as 别名]
- 导入模块顺序(建议)
- 导入Python标准库模块
- 导入第三方扩展库
- 导入自己编写的本地模块
十二.数据科学计算平台——Anaconda
- Anaconda介绍
- 一个集成的Python数据科学环境,简单的说,Anaconda除了有Python外,还安装了180多个用于数据分析的第三方库,而且可以使用conda命令安装第三方库和创建多个环境。相对于只安装Python而言,避免了安装第三方库的麻烦。
- 优点是已经内置了Jupyter notebook交互式计算环境、Spyder集成开发环境,以及NumPy、pandas、Matplotlib、SciPy等各类主要数据分析模块。
- Anaconda还是一个开源的包、环境管理器,可以在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。使用Anaconda可以方便地进行包的管理(包的安装、卸载、更新),对于需要的各种Python的第三方包,可以直接在Anaconda中进行下载。
- 常见的conda命令:
- conda --version #查看当前版本
- conda list #列出当前安装库
- conda upgrade --all #升级所有库
- conda install --yes --file requirements.txt #批量安装
- conda upgrade pip #升级某个库,以pip为例,会卸载旧版本
- conda update pip #更新某个库,以pip为例,不会卸载旧版本
- conda config --add
- pip install tensorflow #安装tensorflow包
- conda install tensorflow #安装tensorflow以及其依赖包
- 环境管理:
- conda create -n env_test python=3 #创建python3环境env_test
- sudo conda create -p /opt/anaconda3/envs/env_test python=3 #创建python3环境env_test并指定具体位置
- conda config --show #查看所有配置
- source activate env_test #进入虚拟环境env_test
- conda remove -n env_test --all #删除环境env_test
- conda env list #查看所有虚拟环境
十三.Jupyter代码编辑器的使用
- Jupyter Notebook介绍
- 是一款专门为数据分析工作而打造的编辑器。
- Jupyter Notebook(Julia+Python+R = Jupyter)基于Web技术的交互式计算文档格式,支持Markdown和Latex语法,支持代码运行、文本输入、数学公式编辑、内嵌式画图和其它如图片文件的插入,是一个对代码友好的交互式笔记本。
- 注意:
- jupyter notebook界面只是一个网页版的用户交互界面。其内核是运行在terminal中的jupyter notebook命令。
- Terminal中运行“jupyter notebook” 命令的目录为jupyter notebook 运行后其内置网页版文件资源管理器的根目录。
- 在Terminal中键入CTRL+c可结束jupyter notebook进程,键入CTRL+C(双击)可强制结束jupyter notebook进程。
- Cell的使用特点:Cell在使用时有两个很重要的特点,第一点体现在查看变量的时候,第二点体现在变量值的传递上。
- 由于在数据分析的过程中,经常要查看变量的值,如果每次查看变量值的时候都要输入print(),那就会非常麻烦。jupyter代码编辑器正是考虑到了这一点,所以在设计的时候就新增了一个功能:查看变量值的时候,只要输入变量名就可以了。
- 当前的Cell可以沿用之前Cell的运算结果,也就是变量的值是可以传递的。变量传递这个特性虽然在调用变量的时候非常方便,但也有一个小小的缺陷。重新打开学习系统的时候,系统就会“忘记”之前运行过的变量的值。这个时候就需要点击网页右上角的【运行全部Cells】按钮,让系统重新“记住”我们所需要用到的变量的值。
- Jupyter notebook中的常用快捷方式
模式 | 快捷键 | 描述 |
按Enter键进入编辑模式 | Ctrl/Command-Enter | 运行当前单元代码 |
Shift-Enter | 运行当前单元代码并指向下一个单元 |
Alt/Option-Enter | 运行本单元代码并在下方插入新单元 |
按Esc键退出编辑模式 | Up/Down | 选中上方或下方单元 |
Shift-K | 扩大选中上方单元 |
Shift-J | 扩大选中下方单元 |
Shift-M | 合并选中的单元 |
A | 在当前单元格上面创建一个新的单元格 |
B | 在当前单元格下面创建一个新的单元格 |
双击D | 删除本单元格 |
Z | 撤销已删除的单元格 |
M | 插入Markdown格式文本 |
- Jupyter notebook的几个小技巧
- 技巧一.将光标移出jupyter代码编辑器的Cell,点击键盘的H键,即可弹出jupyter代码编辑器的常用快捷键盘方式。
- 技巧二.查看某个函数的具体使用方法
- 方法一:先运行代码编辑器中的Cell,将光标移入到函数中的括号中,点击:Shift+Tab+Tab+Tab+Tab。即可弹出该函数的详细用法(功能、参数和例子)。
- 方法二:先在函数后加?,运行代码编辑器中的Cell,即可弹出该函数的详细用法(功能、参数和例子)。