map()将来可以调用的可迭代数据
从可迭代对象中获取第一个元素,作为函数的参数,传入函数中,将函数执行后返回结果作为生成对象中的第一个元素。
最终返回一个可迭代对象
filter 过滤对指定的序列执行过滤,只要成立,就保留,就为真,0为假其余数字为真。
a = reduce(lambda x,y:x+y)
用上一次计算的结果作为下一次传入的x值,如果上一次没有计算结果,则将可迭代数据的强两个元素分别作为x,y传入,如果有额外数据,会作为第一个数据传入
python装饰器:用于拓展原来函数功能的一种函数,
特点:它的返回值是一个函数,在不用更改原函数的代码前提下给函数增加新的功能。
如果有多个装饰器,执行的顺序就是从最后一个装饰器开始,执行到第一个装饰器,再执行函数本身。
1.被装饰的函数不含参数
2.被装饰的函数含有参数
3.被装饰的函数参数可变
4.
装饰器带参数,需要在外面再定义一层函数
第一层函数outer负责接收装饰函数的参数fun1,其返回值是第二层函数名
第二层fun1函数负责接收被装饰的函数f ,其返回值是第二层函数名
第三层函数inner_fun1负责接收被装饰函数的参数
map函数练习
题目:练习:利用map()函数,把用户输入的不规则的英文名字,变为首字母大写,其他小写。
def ff(name):
return name.upper()[0:1]+name.lower()[1:]
list1=['chen','li','hong']
list2=list(map(ff,list1))
print(list2)
结果:
python中*args和**kwargs的使用
*args和**kwargs均为可变参数;
*args是将多个和一个参数放到一个元组中
**kwargs是将一个或多个key=vlaue的格式将所有的参数放入到一个字典中