欢迎来到亿配芯城! | 免费注册
你的位置:芯片交易网IC交易网-亿配芯城 > 芯片资讯 > Python的函数式编程介绍
Python的函数式编程介绍
发布日期:2024-01-01 11:52     点击次数:152
函数

回顾一下函数,函数就是把固定的逻辑放在一起,方便我们下次使用,不用写重复的代码,提升代码的复用性以及可读性;一个好的函数,可以只通过函数名就可以看懂这个过程要做什么,所以当我们有很大一段逻辑代码的时候,拆成不同的函数,可以大大的提高代码易读性。

函数式编程

函数式编程,这里多了一个“式”,虽然也可以归结到面向过程的程序设计,芯片交易网IC交易网但其思想更接近数学计算。函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数!

Python对函数式编程提供部分支持。由于Python允许使用变量, 芯片交易网IC交易网因此, ATMEGA系列ATMEL芯片COMPython不是纯函数式编程语言。

函数作为参数

Python内建的filter()函数用于过滤序列。 filter()函数接收一个函数和一个序列作为参数, 电子元器件PDF资料大全filter()把传入的函数依次作用于每个元素, EEPROM带电可擦可编程存储器芯片大全然后根据返回值是True还是False决定保留还是丢弃该元素。

def is_odd(n):
    return n % 2 == 1

list(filter(is_odd,CMOS图像传感器集成电路芯片 [1, 2, 4, 5, 6, 9, 10, 15]))
# 结果: [1, 5, 9, 15]

把一个序列中的空字符串删除的写法:

def not_empty(s):
    return s and s.strip()

list(filter(not_empty, ['A', '', 'B', None, 'C', '  ']))
# 结果: ['A', 'B', 'C']

可见filter的用法突出一个“筛选”注意到filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计算结果,需要用list()函数获得所有结果并返回list。