python 进阶小笔记

本文介绍Python中的函数式编程特性,包括高阶函数如map(), reduce(), filter()的应用,闭包的概念及匿名函数lambda的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数式编程

python支持的函数式编程

不是纯函数式编程:允许有变量

支持高阶函数:函数也能作为变量传入

支持闭包:有了闭包就能返回函数

有限度地支持匿名函数

 

高阶函数:能接受函数做参数的函数

变量可以指向函数

函数的参数可以接受变量

一个函数可以接受另一个函数作为参数

 

  • map()是python内置的高阶函数,它接受一个函数f和一个list,并通过函数f依次作用在list上的每个元素上,得到一个新的list并返回
  • capitalize() 首字母大写,其余全部小写
  • reduce()函数也是python内置的一个高阶函数,reduce()函数接受的参数和map()类似,一个函数f,一个list,但行为和map()不同, reduce()传入的函数f必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值
  • reduce() 还可以接收第3个可选参数,作为计算的初始值。
  • filter() 函数是python内置的另一个有用的高阶函数, filter()函数接收一个函数f和一个list,这个函数f的作用是对每个元素进行判断,返回true或者false,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list 
  • s.strip(rm)删除s字符串中开头、结尾处的rm序列的字符,当rm为空时,默认删除空白符
  • python内置的sorted()函数可对list进行排序, 但是sorted也是一个高阶函数,它可以接收一个比较函数来实现自定义排序  比较函数的自定义是,传入两个待比较的元素x,y,如果x应该排在y的前面,返回-1,如果x应该排在y的后面,返回1;如果相等,返回0
  • sorted函数也可以对字符串进行排序,默认按照ASCII大小来比较
  • Python的函数不但可以返回int,str,list,dict等数据类型,还可以返回函数
  •  

  • python中闭包:内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,成为闭包 closure
  • 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要争取使用闭包,就要确保引用的局部变量在函数返回后不能变
  • 高阶函数可以接收函数做参数,有些时候我们不需要显示得定义函数,直接传入匿名函数更方便 lambda x:x*x  匿名函数只能有一个表达式,不写return,返回值就是该表达式的结果
  • 装饰器

转载于:https://www.cnblogs.com/Rebecca-Fan/p/7465569.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值