函数编程

高阶函数编程

闭包

定义:在内部函数中,对外部的变量进行引用,外部函数返回内部函数。简单来说,闭包=环境+函数块

例子

1
2
3
4
5
6
7
8
9
10
11
def p():
x = 0
def go(step):
nonlocal x
new_pos = x + step
x = new_pos
return x
return go
t = p()
print(t(4))
print(t(5))

匿名函数

也叫lambda表达式,强调表达式

1
lambda parameter_list: expression

三元表达式

1
a if a > b else b

map

1
2
# 会将list的数据都传入 fun函数 接收
map(fun,list)
  • fun可以用lambda
  • 参数可以有多个
  • 返回的列表个数取决于参数列表个数的最小值
  • 返回的是一个对象

reduce

1
2
3
4
5
6
from functools import reduce

l = [1,2,3,4,5,6,7,8]

t = reduce(lambda x,y: x+y,l )
print(t)
  • 他会对lambda进行连续调用
  • 上面的运行过程是:先从l取出1,2相加,结果传入x,再从l取出3传入y..
  • 还可以指定一个初始值传入x

filter

1
2
3
l2 = ['a','b','C','A','Z']
f = filter(lambda x: ord(x)>=65 and ord(x)<91,l2)
print(list(f))
  • 将列表的数据传入函数,结果为真保留数据
  • 结果只要能判断真假就行,不一定需要布尔值
作者

manu

发布于

2020-04-02

更新于

2023-01-06

许可协议

# 相关文章
  1.pythonic
  2.装饰器
  3.Python正则
  4.异常处理
  5.文件IO
  6.
  7.使用模块简化代码
  8.简单使用方法
# 推荐文章
  1.ALTER
  2.数据库笔记
  3.微信小程序笔记
  4.动态调试-OD
  5.winPE结构
  6.git指令

:D 一言句子获取中...