第一章 Python 入门
主要讲解 Python 的基本语法与 NumPy 和 Matplotlib 包的基本使用.
本章还介绍了环境. 只是书比较老,
Python使用的是3.4.1的版本, 环境已经不适合了, 验证后使用Python 3.13.5也是可以的. 并且所使用环境为Miniconda.
这里将主要内容整理一下, 主要是环境的基本配置.
1. 准备环境
操作步骤:
- 创建
deep01环境, 并安装python 3.13.5. - 激活该环境. 安装
numpy,matplotlib, 和jupyter. - 运行
notebook创建01-python入门目录与文件, 来执行代码.
这里使用了清华源:
配置
condaconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/ conda config --set show_channel_urls yes配置
pippip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
conda create -n deep01 python==3.13.5 -y
conda activate deep01
cd ~/Desktop
mkdir deep01
cd deep01
pip install numpy
pip install matplotlib
pip install jupyter
jupyter notebook
2. 基本语法
主要介绍了 Python 基本语法, NumPy 的语法, 以及 Matplotlib 的基本用法.
2.1 Python 的语法
主要介绍了:
- 基本是算术运算, 以及基本的数据类型, 和
type()函数, 来查看类型. - 介绍了变量的定义规则与使用 (直接赋值使用, 无声明语法).
- 介绍了列表数据类型, 元组类型, 字典类型. 以及列表类型的索引, 切片, 长度获取等函数.
- 介绍了
if语句,for语句. - 介绍了函数的定义 (基本用法). 介绍了类的写法 (定义,
__init__, 与方法). - 介绍脚本 (
py文件).
非常基本的语句, 作者推荐了蟒蛇蛋书来深入 Python 语言. 但愿后续只会用法这些内容.
2.2 Numpy 的语法
numpy 是基于数组来运算的.
同时简要说明了什么是标量, 向量, 矩阵, 以及张量.
主要内容包括
- 创建
numpy数组. 使用np.array([...]). - 算术运算. 基于
numpy的算术运算是数组每一个位置上的数据相对应的进行运算. - 标量与数组的运算. 会作用到每一个数组元素上运算.
- N 维数组的定义 (
np.array([[...], [...]])), 以及shape属性, 查看数组形状. 以及dtype属性, 查看数组元素类型. N 维数组间的运算也是对应元素上的数据一一运算. 所以要求两个数组形状相同. - 介绍了广播 (broadcast). 允许形状不同的两个数组一起进行乘法运算. 会通过复制"小"数组, 来补全与大数组形状不同的部分, 然后再进行对应位置上的元素相乘. 这里的难点是怎么补全.
- (高级用法) 最后介绍了访问元素的方法. 利用索引 (需要注意层级),
flatten()方法 (转为一维数组), 以及使用数组索引来访问数组的多个位置上的元素 (利用数组来生成数组). 以及关系表达式作为索引的过滤方法. - 补充了
np.arange(start, end, step)方法, 来生成数组.
作为补充, 作者说明了 Python 的性能其实很低, 但是很多耗性能的逻辑都是使用 C 等语言编写的, 所以使用起来性能依旧可以满足.
导入语法一般使用:
import numpy as np
作为高级用法, 将案例记录下来:
m = np.array([[1,2,3,4], [5,6,7,8], [7,8,9,10]])
m.shape # (3, 4)
arr = m.flatten() # [1,2,3,4,5,6,7,8,7,8,9,10]
arr > 5 # [False,False,False,False,False,True,True,True,True,True,True,True]
arr[arr > 5] # [6,7,8,7,8,9,10]

2.3 Matplotlib 的基本用法
导入语法一般为:
import matplotlib.pyplot as plt
基本用法了整理为:
- 根据算法生成
x数组, 以及与之对应的y数组, 其元素一一对应可以构成坐标. - 利用
plt.plot(x, y)方法即可按照坐标在内存中绘制出图形 (自动使用平滑曲线). - 调用
plt.show()显示图片.
补充:
- 允许在一套坐标系中绘制多组图像, 只需要调用
plt.plot(x, y)即可 (使用不同的y). - 绘制方法
plot()可配置参数:linestyle = "--"可以绘制虚线, 默认是实线.label="..."可以给图像定义标记, 在使用plt.legend()方法时会显示对应图例.
- 使用
plt.xlabel('...')与plt.ylabel('...')可以为坐标轴设置显示文案. plt.title('...')方法可以为函数图像设置标题.
使用 matplotlib.image 中的 imread() 函数, 可以读取图片, 将其返回值给 plt.imshow() 可以显示图像.

图片需要放在执行 python 代码文件所在的目录即可.
3. 结束
最终作者推荐了两本书作为补充:
- Python 语言机器应用 (蟒蛇蛋书), 补充了 Python 语言的使用.
- 利用 Python 进行数据分析, 补充了 NumPy 的使用.
