functools
reduce方法:
reduce方法,顾名思义就是减少
reduce(function,sequence[,initial]=>value)
可迭代对象不能为空;初始值没提供就在可迭代对象中取一个元素
from functools import reduce
nums = [6,9,4,2,4,10,5,9,6,9]
print(nums)
[6, 9, 4, 2, 4, 10, 5, 9, 6, 9]
print(sum(nums))
64
print(reduce(lambda val,x:val + x,nums))
64
print(reduce(lambda val,x:val - x,nums))
-52
partial方法:
偏函数,把函数部分的参数固定下来,相当于为部分的参数添加了一个固定的默认值,形成一个新的函数并返回
从partial生成的新函数,是对原函数的封装
print(newadd(7))
12
print(newadd(7,y = 6))
13
print(newadd(y=10,x = 6))
16
import inspect
print(inspect.signature(newadd))
(x, *, y=5