继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

不会编程的小孩
关注TA
已关注
手记 7
粉丝 0
获赞 7

课程名称: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的函数式编程功能强大,代码更加简洁。掌握和了解对编程能力提升会很高,在某些场景下的

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

打卡截图:

http://img2.mukewang.com/63302cd50001c39006820399.jpg


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP