python 13 函数补充

# python 匿名函数 map函数
# /usr/sbin/sb/python
# -*-coding:utf8-*-
from functools import reduce

# 匿名函数关键字 lambda  且匿名函数不支持复杂逻辑
func = lambda a: a + 1
print(func(10))

funcEg = lambda a, b, c: (a + 1, b + 2, c + 3)
print(funcEg(1, 2, 3))  # 还可以操作多个参数


# 函数式编程 函数式编程的一个特点:函数体中不应该存在声明的变量
def formal(a):
    return a + 1


# python 函数中 将函数当作返回值传递给另一个函数,或者返回值中包含了函数那么这个函数就被称为高阶函数

# python 中有一个概念 函数即变量  也就是说函数的定义会伴随着内存的开销
#    递归函数在进行递归时如果进入下一层递归时,后面还有未执行的代码则会开辟内存保存未执行函数
#    递归调用时应该尽量让函数实现尾递归
# map函数使用场景
tarray = [1, 2, 3, 4, 5]


# 需求 定义函数要求 可以使得数组中每个元素平方,加1,减一等
def reduceone(x):
    return x - 1


def testmap(func, array):
    resultArray = []
    for a in array:
        res = func(a)
        resultArray.append(res)
    return resultArray


print(testmap(reduceone, tarray))

# 可以使用pyhton内置函数map
print(list(map(lambda x: x ** 2, tarray)))
# 同理 python中还提供了filter函数
li = ["sb_aa", "bb"]
print(list(filter(lambda n: n.startswith("sb"), li)))
# reduce 函数
tarray = [3,2,1]
print(reduce(lambda x, y: x + y, tarray))

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值