Python教程

【九月打卡】第六天 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://img2.sycdn.imooc.com/63302cd50001c39006820399.jpg


这篇关于【九月打卡】第六天 Python的函数式编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!