我是靠谱客的博主 害羞缘分,最近开发中收集的这篇文章主要介绍自学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)        结果为<generator object func at 0x000001A5435D1F50> 译:生成器在...内存地址

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

print(ret)        结果为123  你好

 节省内存示例:

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

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

 

 

最后

以上就是害羞缘分为你收集整理的自学Python第五天。Python 三大器的全部内容,希望文章能够帮你解决自学Python第五天。Python 三大器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部