ora art 变量 序列 key 总结 red 完整
1. 函数本身也可以赋值给变量,即:变量可以指向函数。
- >>> f = abs
- >>> f(-10)
- 10
成功!说明变量
现在已经指向了
- f
函数本身。直接调用
- abs
函数和调用变量
- abs()
完全相同。
- f()
--> 函数名也可以看作是是变量。
编写高阶函数,就是让函数的参数能够接收别的函数(add(-5, 6, abs))
函数接收两个参数,一个是函数,一个是
- map()
,
- Iterable
将传入的函数依次作用到序列的每个元素,并把结果作为新的
- map
返回。
- Iterator
把一个函数作用在一个序列
- reduce()
上,这个函数必须接收两个参数,
- [x1, x2, x3, ...]
把结果继续和序列的下一个元素做累积计算.
- reduce
也接收一个函数和一个序列, 和
- filter()
不同的是,
- map()
把传入的函数依次作用于每个元素,然后根据返回值是
- filter()
还是
- True
决定保留还是丢弃该元素,返回新的 Iterator。
- False
- sorted()函数可以对list进行排序。sorted(list, key=function, reverse=True)
lambda x: x * x 关键字
表示匿名函数,冒号前面的
- lambda
表示函数参数。
- x
一个完整的装饰器 decorator 的写法如下:
- import functools
- def log(func):
- @functools.wraps(func) #把原始函数的
- __name__
- 等属性复制到
- wrapper()
- 函数中
- def wrapper(*args, **kw):
- print('call %s():' % func.__name__)
- return func(*args, **kw)
- return wrapper
- #带参数的decorator
- import functools
- def log(text):
- def decorator(func):
- @functools.wraps(func)
- def wrapper(*args, **kw):
- print('%s %s():' % (text, func.__name__))
- return func(*args, **kw)
- return wrapper
- return decorator
- functools.partial
- 就是帮助我们创建一个偏函数的,简单总结
- functools.partial
- 的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。
python 学习笔记 --- 函数式编程
来源: http://www.bubuko.com/infodetail-2270609.html