为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第六天 Python的函数式编程

标签:
Python

课程名称:Python3进阶教程(新版)

章节名称:第8章 Python的函数式编程

讲师姓名:咚咚呛


课程内容:

  • 把函数作为参数

def add(x, y, f):
    return f(x) + f(y)
add(-5, 9, abs) abs(-5) + abs(9)

map函数:对可迭代对象中的每个元素,都调用指定的函数,并返回一个 map 对象
def f(x):
   return x*x

for item in map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]):
   print(item)

装饰器:通过装饰器函数,来修改原函数的一些功能,使得原函数不需要修改
def log(prefix):
   def log_decorator(f):
       def wrapper(*args, **kw):
           print('[{}] {}()...'.format(prefix, f.__name__))
           return f(*args, **kw)
       return wrapper
   return log_decorator

@log('DEBUG')
def test():
   pass
test()
匿名函数:
from functools import reduce

reduce函数:用来对一个集合做一些累积操作
import functools listDemo = [1, 2, 3, 4, 5]
product = functools.reduce(lambda x, y: x * y, listDemo)
print(product)

fiter函数:对需要迭代的对象进行函数判断返回bool值。
listDemo = [1, 2, 3, 4, 5]
new_list = filter(lambda x: x % 2 == 0, listDemo)
print(list(new_list))


学习收获:

Python3的函数式编程功能强大,代码更加简洁。掌握和了解对编程能力提升会很高,在某些场景下的

使用,可以极大的简化代码,让代码更加容易维护。

打卡截图:

https://img1.sycdn.imooc.com//63302cd50001c39006820399.jpg


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消