函数式编程
函数式编程(Funcional Porammin)或者函数程序设计,又称泛函编程,是种编程范型,它将计算机运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。简单来讲,函数式编程是一种“广 播式”的编程,一般结合前面提到过的lambda定义函数,用于科学计算中,会显得特别简洁方便。
在Python中,函数式编程主要由几个函数的使用构成:lambda0、map0、reduce0、filter0, lambda 前面已经介绍过,主要用来自定义“行内函数”,所以现在我们逐一介绍后三个,在Python中,map(),reduce()和filter()要比内置的for或while循环快得多。
一、map()函数
map() 会根据提供的函数对指定序列做映射。map() 函数语法:
map(function, iterable, ...)
参数
function -- 函数
iterable -- 一个或多个序列
返回值:Python 3.x 返回迭代器。
二、reduce()函数
reduce() 函数会对参数序列中元素进行累积。在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 functools 模块里,如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数,导入functools模块语句如下:
from functools import reduce
函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。
reduce() 函数语法:
reduce(function, iterable[, initializer])
参数
function -- 函数,有两个参数
iterable -- 可迭代对象
initializer -- 可选,初始参数
返回值:返回函数计算结果。
例题:
三、filter0函数
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。以下是 filter() 方法的语法:
filter(function, iterable)
参数:
function -- 判断函数。
iterable -- 可迭代对象。
返回值:返回一个迭代器对象。可以使用list()函数转换为列表。
实例:
函数定义和调用(重点):
def 函数名(arg1,arg2):
函数体
调用函数时的参数传递方式和参数的类型(难点)
可变参数:列表,字典
不可变参数:字符串、数值、元组
参数类型:必需参数、默认值参数、关键字参数和可变参数,以及参数的混合使用
3.turtle库各种形状的绘制,找出规律(难点)