2025.6.23学习日常
1.Numpy部分知识点
1.1 切片和索引
- 切片可以直接使用内置的slice,使用方法为
slice(begin,end,step)也可以使用冒号分割begin:end:step。区别是内置的slice直接创建了slice对象,可以单独使用,而冒号分割则不行。 - 多维数组的切片可以从笛卡尔积来理解,假设二维数组的shape为(a,b)。那么执行a[:,2],相当于a全选与b的第3个元素做笛卡尔乘积,实现的效果就是取出第三列。笛卡尔积在高维数组的理解效果会比较好
1.2 高级索引
咕咕咕,详细参考这篇
https://www.runoob.com/numpy/numpy-advanced-indexing.html
1.3 广播机制
自动广播机制使维度不匹配的数组可以进行加减乘除运算等操作。
【例】:三维数组a的shape为(a,b,c),一维数组b的shape为(c),该匹配机制会自动进行a×b次来实现运算操作。匹配从shape的最后一个维度开始
2.Python函数
在Python学习手册一书(上册)提及到函数的调用语句,两种声明函数的方式(def和lambda),两种管理作用域的方式(global和nonlocal),两种传回返回值的方式(return和yield)


2.1 def语句
def语句会创建一个函数对象并将其赋值给一个变量名name。请区分以下两种操作方式,一种是引用,一种是调用
new_name = name,x = name()
2.2 Python变量的作用域(命名空间)
- LEGB查找规则
Python变量的作用域完全由变量程序文件中的源代码位置决定,分为局部(local),非局部(nolocal),全局(global),内置(builtins),变量名的查找顺序也遵循这样的规则,该规则称为LEGB
【注】全局作用域指当前py文件(也被称为模块文件),

浙公网安备 33010602011771号