概述
今天是自学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 三大器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复