本系列文章为鱼书🐟《深度学习入门:基于Python的理论与实现》自学笔记,仅为整理,不做任何商业传播用途。若有雷同,不是偶然。
该文章仅对本人在Python学习中的模糊点进行总结。
1.3.1 算数计算
Python 2.x中,整数除以整数的结果是整数;Python 3.x中,整数除以整数的结果是小数(浮点数)
1.3.6 布尔型
bool型取True或False中的一个值,针对bool型的运算符包括and
、or
和not
1.4.2 类
类中的方法__init__
,是构造函数(constructor),只在生成类的实例时被调用一次
1.5.2 生成NumPy数组
- 使用
np.array()
方法,接受Python列表作为参数,生成Numpy数组(numpy.ndarray
) - 矩阵元素的数据类型可以通过
dtype
查看 - 可以将一般化后的向量或矩阵等统称为张量(tensor)。
- 将矩阵转化为一维数组:
X=X.flatten()
1.5.3 NumPy的算术运算
广播:NumPy数组可以进行element-wise(对应元素)的运算,也可以和单一的数值(标量)组合起来进行运算,需要数组的每个元素和标量进行运算,这个功能称为广播。
1.6.3 pyplot显示图像
使用matplotlib.image模块的imread()方法读入图像,使用pyplot模块中的imshow()显示图像。
import matplotlib.pyplot as plt
from matplotlib.image import imread
img = imread("lena.png")
plt.imshow(img)
plt.show()
总结
Python等动态类型语言比一般C和C++等静态类型语言(编译型语言)运算速度慢。当Python中追求性能时,常用C/C++来实现处理的内容,Python则承担“中间人”的角色,负责调用使用C/C++写的程序。NumPy中主要的处理也都是通过C或C++实现的。