本周安排:高阶函数、模块使用、异常和文件操作、学生管理系统、面向对象入门
-
高阶函数之函数作为参数
a. 函数作为变量,Python中声明函数就是声明一个类型是function的变量,函数名就是变量名
b. 实参高阶函数:将函数作为函数的参数
c. 系统的实参高阶函数:list.sort(), sorted(), max(), min(),这四个函数中有一个参数key为函数
key要求:是一个函数;函数中有且只有一个参数,参数指向的是序列中的每一个元素;需要一个返回值,这个返回值就是排序时比较大小的对象
d. 返回值高阶函数:函数作为函数的返回值
-
闭包:通常用于装饰器;是双层函数,内层函数使用了外层函数的变量,返回值是内层函数
特点:闭包函数中的数据不会因为函数调用结束而回收
-
装饰器:装饰器本质是一个函数=返回值高阶函数+实参高阶函数+糖语法
a. 装饰器是Python的三大神器之一:装饰器、迭代器、生成器
b. 作用:给已写好的函数添加新的功能
c. 无参装饰器:
def 函数名1(参数1):
def 函数名2(args,*kwargs):
参数1(args,*kwargs)
新功能对应的代码
return 函数名2
说明:
函数名1:装饰器名字;一般根据需要添加的功能命名
函数名2:随便命名,作用用于添加功能
参数1:需要添加功能的函数
-
解包操作:
a. 解包:在容器型数据类型前加或者*可以对容器进行解包
b. 注意:**只能放在字典前
-
迭代器:iterator,Python提供的容器型数据类型
a. 存储数据特点:可以存储多个数据,获取元素必须从中取出,取一个少一个,且不能将其再添加至迭代器中
b. 存储数据:
1)将别的序列转换成迭代器:iter(序列)
2)创建生成器
c. 获取数据:迭代器内的元素,不管通过什么方式取出,那么迭代器内就不会再存在此元素
1)获取单个元素:next(迭代器)
2)遍历:一个一个获取所有元素
2019-11-18-Python高阶函数、迭代器、生成器
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...