Python学习(九)——匿名函数、装饰器、偏函数

来源:互联网 发布:淘宝5元优惠券图片 编辑:程序博客网 时间:2024/05/17 03:40

匿名函数
关键字lambda表示匿名函数,冒号前面的x表示函数参数,冒号后面为函数表达式;利用匿名函数不需要单独定义一个函数;匿名函数只能有一个表达式,不用写return,表达式结果即返回值。

>>> map(lambda x:3*x+5,[1,2,3,4,5,6,7,8,9])[8, 11, 14, 17, 20, 23, 26, 29, 32]

装饰器
装饰器是一个函数,符号为@。

>>> def log(text):    def decorator(func):        def wrapper(*args, **kw):            print '%s %s():' % (text, func.__name__)            return func(*args, **kw)        return wrapper    return decorator>>> @log('execute')def now():    print '2013-12-25'>>> now()execute now():2013-12-25

偏函数
利用functools.partial创建偏函数,变更函数的默认值;

int()默认值base=10

>>> int('123789')123789>>> int('147',base=8)103>>> int('147',16)327

利用functools.partial创建偏函数,将默认值改为2:

>>> import functools>>> int2=functools.partial(int,base=2)>>> int2('101101')45>>> int2('101101',base=10)101101>>> int2('101101',base=8)33345

这里写图片描述

阅读全文
1 0