python学习第七天
2026/5/8 17:49:09 网站建设 项目流程
高阶函数

fitler : 用来过滤序列

defis_odd(n):returnn%2==1l=[1,2,3,4]g=filter(is_odd,l)

lambda匿名函数:

defadd(x,y):returnx+y# 等价于add_lambda=lambdax,y:x+y

sorted函数: 指定排序规则排序

l=[3,2,-5]print(sorted(l))sorted(l,key=abs)print(l)l=["a","b","A","D"]print(sorted(l))print(sorted(l,key=str.lower))
闭包

闭包引用外层变量使用nonlocal

definc():x=0deffn():nonlocalx x=x+1returnxreturnfn f=inc()print(f())print(f())

装饰器:
最外面包裹一层:

deflog(func):defwrapper(*args,**kw):print("call %s()"%func.__name__)returnfunc(*args,**kw)returnwrapper@logdefnow():print("111")f=now f()print(f.__name__)print(now.__name__)

__name__会把真实调用的函数名字打印出来,,@functools.wraps(func):使用这个就不会显示包装器的名字,,而是原始的函数名字

deflog(func):@functools.wraps(func)defwrapper(*args,**kwargs):print('log')returnfunc(*args,**kwargs)returnwrapper
偏函数 partial function

设定参数的默认值,可以降低函数调用的难度

print(int("10000",base=2))int2=functools.partial(int,base=2)print(int2('1000'))

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询