Lambda函数和decorator装饰器
2017-04-12 本文已影响66人
c4a1d989518e
Lambda函数就是不用def来定义的函数,优点是简洁,一次性。
比如:
map( lambda x : x*x , [y for y in range(10)] )
map函数也是个高级函数,作用就是用第一个作为参数的函数,依次处理第二个参数,得到最终结果。这里不用纠结map,重点不是它。
如果要实现相同的效果,用普通的方式是这样。
需要单独定义一个def,用lambda多省事儿,直接就有了
还有就是装饰器。
其中decorator是装饰器英文
@符号是一个修饰符,用在装饰器中,用来将函数作为参数,传到装饰器函数中。也可以理解为调用相应的装饰器。
廖雪峰的教程里,有一点还需要补充,那就是装饰器有什么用?
可以参见:什么时候会用到python装饰器?
其中举了这个例子,可以看出两个优点
1,可定制性强
2,专人专事,社会分工