栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

自学Python第五天。Python 三大器

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

自学Python第五天。Python 三大器

今天是自学Python的第五天了。今天主要学习了Python的三大器。装饰器,迭代器,生成器

#装饰器:可以在不改变代码的基础上,给函数添加新的功能。
#   可以在原有操作前面或者后面随意的添加新的功能

装饰器通用语法:

def func(fn):

        def inner(*args, **kwargs):

                在执行fn之前...

                ret = fn(*args, **kwargs)

                在执行fn之后...

return ret #把fn执行之后的结果返回

         return inner

装饰器的应用场合

高级装饰器(一个方法同时被多个装饰器装饰)

三个不同的装饰器

被多次装饰的结果(就近原则):

 

 还有带参装饰器的语法:

迭代器(iterator):循环建立与迭代器之上。普通情况迭代器用法与循环相似

通过__iter__()方法获取iterator迭代器,也可以使用iter(str,list,dict等类型数据)获取迭代器

__next__()获取下一个值,也可以使用next(迭代器)获取下一个值

示例:

 

生成器:与迭代器相似

"""
生成器函数:
    1.里面有yield
    2.生成器函数在执行的时候,实际上是创建了一个生成器出来
    3.必须使用__next__()来执行一段代码,会自动的执行到下一个yield结束
    4.yield也是返回的意思,可以让一个函数分段执行
    5.当后面没有yield之后,再次__next__()会报错Stopiteration
    6.节省内存
"""

语法:

def func():

        print("123")

        yield "你好"        #yield也有返回的意思

gen = func()        #获取生成器

print(gen)        结果为 译:生成器在...内存地址

ret = gen.__next__()        #获取生成器返回值,next方法是执行语句到下一个yield的意思。

print(ret)        结果为123  你好

 节省内存示例:

改进版生成器(获取指定数量): 生成器send方法使用示例: 

今天的学习就到这里。每天学习一小结,可以帮助自己梳理学习内容,增加知识点的印象(虽说还是会有不熟悉或者忘记的情况),但是还是要多复习,总结,做题稳固根基。

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/947709.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号