2019-11-18-Python高阶函数、迭代器、生成器

  1. 本周安排:高阶函数、模块使用、异常和文件操作、学生管理系统、面向对象入门

  2. 高阶函数之函数作为参数

    a. 函数作为变量,Python中声明函数就是声明一个类型是function的变量,函数名就是变量名

    b. 实参高阶函数:将函数作为函数的参数

    c. 系统的实参高阶函数:list.sort(), sorted(), max(), min(),这四个函数中有一个参数key为函数

    ​ key要求:是一个函数;函数中有且只有一个参数,参数指向的是序列中的每一个元素;需要一个返回值,这个返回值就是排序时比较大小的对象

    d. 返回值高阶函数:函数作为函数的返回值

  3. 闭包:通常用于装饰器;是双层函数,内层函数使用了外层函数的变量,返回值是内层函数

    特点:闭包函数中的数据不会因为函数调用结束而回收

  4. 装饰器:装饰器本质是一个函数=返回值高阶函数+实参高阶函数+糖语法

    a. 装饰器是Python的三大神器之一:装饰器、迭代器、生成器

    b. 作用:给已写好的函数添加新的功能

    c. 无参装饰器:

    def 函数名1(参数1):

    ​ def 函数名2(args,*kwargs):

    ​ 参数1(args,*kwargs)

    ​ 新功能对应的代码

    ​ return 函数名2

    说明:

    函数名1:装饰器名字;一般根据需要添加的功能命名

    函数名2:随便命名,作用用于添加功能

    参数1:需要添加功能的函数

  5. 解包操作:

    a. 解包:在容器型数据类型前加或者*可以对容器进行解包

    b. 注意:**只能放在字典前

  6. 迭代器:iterator,Python提供的容器型数据类型

    a. 存储数据特点:可以存储多个数据,获取元素必须从中取出,取一个少一个,且不能将其再添加至迭代器中

    b. 存储数据:

    ​ 1)将别的序列转换成迭代器:iter(序列)

    ​ 2)创建生成器

    c. 获取数据:迭代器内的元素,不管通过什么方式取出,那么迭代器内就不会再存在此元素

    ​ 1)获取单个元素:next(迭代器)

    ​ 2)遍历:一个一个获取所有元素

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容