基于AI的流行,所有主流的AI框架只认Python,那么学习Python这个语言就势在必行了,TensorFlow(谷歌)、Pytorch(Meta)、Hugging Face(大模型)、Scikit-learn(传统机器学习)python都是第一语言没有之一函数式编程是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,特点就是允许把函数本身作为参数传入另一个函数,还允许返回一个函数!高阶函数:把函数作为参数传入,这样的函数称为高阶函数map、reduce函数,python内建了map和reduce函数,map函数接收两个参数,一个是函数,另一个是Iterable,map将传入的函数一次作用到序列的每个元素,并把结果作为新的Iterator返回,我们用python试验下map()传入的第一个参数是f,即函数对象本身,由于结果r是一个Iterator,Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list。reduce的用法 reduce把一个函数作用在一个序列[x1,x2,x3,.........],这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,效果就是如下,我没看懂 你们看懂了么😄reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
filter函数用于过滤序列,和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。sorted函数用于排序,也是一个高阶函数,同时可以接受一个key实现自定义排序,还有第三个参数reverse,是否反向排序高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回在上面的例子中,我们在函数lazy_sum中定义了函数sum,并且内部函数sum可以引用外部函数lazy_sum的参数和局部变量,当lazy_sum返回函数sum时,相关参数和变量都保存在返回的函数中,这种称为闭包的程序结构。看我下面截图 你就看懂了匿名函数可以不用单独定义函数,直接写函数表达式 关键字是lambda,它有个限制,只能有一个表达式,不用写return,返回值就是该表达式的结果函数对象有一个__name__属性(是前后各两个下划线)可以拿到函数的名字,装饰器按我的理解就是类似net的委托,将函数作为变量传入,动态实现相关功能而又不改变原函数在python中,一个.py文件就称之为一个模块Module,按目录来组织模块的方法,称为包Package使用模块 用import引入,具体例子如下,感觉注意下面的几个重点即可如果安装常用的模块 使用命令如下即可,以pillow为例