自学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.里面有yield2.生成器函数在执行的时候,实际上是创建了一个生成器出来3.必须使用__next__()来执行一段代码,会自动的执行到下一个yield结束4.yield也是返回的意思,可以让一个函数分段执行5.当后面没有yield之后,再次__next__()会报错Stopiteration6.节省内存 """
语法:
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中组织列表的相关函数
目录 一.用sort()函数对列表进行永久排序 二.用sorted()函数对列表进行临时排序 三.用reverse()函数对列表进行列表原始排序的逆序输出 四.使用len()函数确定列表长度 创建列表 ...
- python源程序执行的方式边编译边执行_五年级Python试题
五年级Python试题 五年级Python试题(含答案) 学校: 班级: 姓名: 考号: 一.选择(10题) 1.下列哪个语句在Python中是非法的? ( ) A.x = y = z = 1 B.x ...
- 孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档
孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数据库 ...
- python三大器_Python - 三大器 迭代器,生层器,装饰器
Python - 三大器 迭代器,生层器,装饰器 在介绍三大器之前先来了解一下容器和可迭代对象... 一. 容器 容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, ...
- 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备
孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自学 ...
- 孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库...
孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第二 ...
- python程序的三种基本结构是_Python程序设计实验五- 综合运用三种基本结构进行程序设计...
安徽工程大学 [Python程序设计]实验报告 班级 :物流192 姓名:刘娇阳 学号:3190505213 成绩: 日期:2020.4.24 指导老师 :修宇 [实验名称]实验五 综合运用三种基本结 ...
- [Python从零到壹] 三十五.图像处理基础篇之OpenCV绘制各类几何图形
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- python三大器,Python 入门之 Python三大器 之 生成器
Python 入门之 Python三大器 之 生成器 1.生成器 (1)什么是生成器? 核心:生成器的本质就是一个迭代器 迭代器是Python自带的 生成器程序员自己写的一种迭代器 def func( ...
最新文章
- 原生js的attachEvent和addEventListener解决window.onload在一个页面只能执行一次的问题
- python流程控制-python简单流程控制
- Spring MVC的GET与POST请求url-pattern坑
- python 水仙花_python 水仙花
- 使用Pytorch简单实现混合密度网络(Mixture Density Network, MDN)
- 区块链NFT项目策划书
- HTML学生网页设计作业成品~化妆品官方网站设计与实现(HTML+CSS+JS)共8个页面
- Android中应用程序获得系统签名权限(platform.x509.pem platform.pk8)下载地址
- PR转场预设 鼠标拖拽视频画面滑动转场特效PR预设
- which在C语言用法,A,B, and C, which ... which指代的是它们三个还是只有C呢?
- WordPress绑定多个域名和禁止搜索引擎收录非主域名的方法
- 初级软件测试工程师:测试路上披荆斩棘,争做大厂程序员,斩获高薪offer~
- 学习 第2章:备份与恢复选项
- python3_面向对象
- 计算机中怎么设置纸张大小,针式打印机设置,教您针式打印机怎么设置纸张大小...
- 使用基于注意力的编码器-解码器实现医学图像描述
- 备份软件Cobian Backup介绍
- java游戏编程原理与实践教程_第18章青蛙过河游戏(Java游戏编程原理与实践教程课件).ppt...
- VeryCD的名言集锦
- Tcl在Vivado中的使用