【Python】学习摸鱼技术的第八天

 鲁迅不曾说过:如果别人看不见你的电脑屏幕,那么只要你在打字他们就会觉得你在努力学习。

                                                                                                                                         

lambda介绍

        如果⼀个函数有⼀个返回值,并且只有⼀句代码,可以使⽤ lambda简化。

        语法:lambda 参数列表 : 表达式

# 函数
def fn1():
  return 200
print(fn1)
print(fn1())
# lambda表达式
fn2 = lambda: 100
print(fn2)
print(fn2())
输出:
<function fn1 at 0x00000265EB79C268>
200
<function <lambda> at 0x00000265EB947B70>
100

注:直接打印lambda表达式,输出的是此lambda的内存地址

带判断的lambda

print((lambda a, b: a if a > b else b)(1000, 500))
输出:1000

高阶函数介绍

        把函数作为参数传⼊,这样的函数称为⾼阶函数,⾼阶函数是函数式编程的体现。函数式编程就是指这种⾼度抽象的编程范式。

        示例:⼀个函数完成计算任意两个数字的绝对值之和。(在Python中, abs() 函数可以完成对数字求绝对值计算)

def sum_num(a, b, f):
 return f(a) + f(b)
result = sum_num(-1, 2, abs)
print(result)
输出结果:3

内置高阶函数

 map()

        map(func, lst),将传⼊的函数变量func作⽤到lst变量的每个元素中,并将结果组成新的列表(Python2)/迭代器(Python3)返回。

reduce()

        reduce(func(x,y),lst),其中func必须有两个参数。每次func计算的结果继续和序列的下⼀个元素做累积计算。

filter()

        filter(func, lst)函数⽤于过滤序列, 过滤掉不符合条件的元素, 返回⼀个 filter 对象。如果要转换为列表,可以使⽤ list() 来转换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值