文章目录
pre :先来一张源码的切片
mac中按住cmd,鼠标放到tile函数上点一下就可以进入了,win是按住ctrl点一下。
源码部分的介绍非常详细,有一大段部分是注射,还有样例分析。小插曲:这个截图插件叫 Easy Code Screenshots,在JetBrains IDE都可以找到。
1. 参数和基本定义:
- A: 输入数组,可以是任意形状的数组。
- reps: 一个数组或整数,表示每个轴的重复次数。例如,如果 reps 是 (2, 3),则会对数组的第一个轴重复两次,第二个轴重复三次。
这里解释一下轴是什么:
在数组和矩阵操作中,轴(axis) 是指数组的维度方向。每个维度(或轴)有一个编号,通常从 0 开始。对于不同维度的数组,轴的概念如下:
• 一维数组:只有一个轴,即 axis=0。沿这个轴重复会将数组的元素进行平铺。
a = np.array([1, 2, 3]),只有一个轴 axis=0
• 二维数组:有两个轴,axis=0 表示行方向,axis=1 表示列方向。沿 axis=0 重复就是在行方向上增加行数。沿 axis=1 重复则在列方向上增加列数。
b = np.array([[1, 2], [3, 4]]),axis=0 是行方向,axis=1 是列方向
• 三维及更高维数组:有多个轴。例如,三维数组的 axis=0 是深度(通常表示“页”),axis=1 是行,axis=2 是列。
c = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]),axis=0 是“页”方向,axis=1 是行方向,axis=2 是列方向
• 在 tile 函数中,reps 指定了每个轴的重复次数,例如 reps=(2, 3):
2 表示在第一个轴上重复 2 次。
3 表示在第二个轴上重复 3 次。
2. 将 reps 转换为元组:
tup = tuple(reps)
- 如果 reps 是整数或列表,将其转换为元组 tup,方便在接下来的操作中使用。