# 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))
python 13 函数补充
最新推荐文章于 2022-08-07 22:40:54 发布