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)
image
image

2.1 def语句

def语句会创建一个函数对象并将其赋值给一个变量名name。请区分以下两种操作方式,一种是引用,一种是调用
new_name = name,x = name()

2.2 Python变量的作用域(命名空间)
  • LEGB查找规则
    Python变量的作用域完全由变量程序文件中的源代码位置决定,分为局部(local),非局部(nolocal),全局(global),内置(builtins),变量名的查找顺序也遵循这样的规则,该规则称为LEGB
    【注】全局作用域指当前py文件(也被称为模块文件),
posted @ 2025-06-23 21:54  BingUw  阅读(11)  评论(0)    收藏  举报