今天是自学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 三大器相关推荐

  1. 五、Python第五课——Python中组织列表的相关函数

    目录 一.用sort()函数对列表进行永久排序 二.用sorted()函数对列表进行临时排序 三.用reverse()函数对列表进行列表原始排序的逆序输出 四.使用len()函数确定列表长度 创建列表 ...

  2. python源程序执行的方式边编译边执行_五年级Python试题

    五年级Python试题 五年级Python试题(含答案) 学校: 班级: 姓名: 考号: 一.选择(10题) 1.下列哪个语句在Python中是非法的? ( ) A.x = y = z = 1 B.x ...

  3. 孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档

    孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数据库 ...

  4. python三大器_Python - 三大器 迭代器,生层器,装饰器

    Python - 三大器 迭代器,生层器,装饰器 在介绍三大器之前先来了解一下容器和可迭代对象... 一. 容器 容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, ...

  5. 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备

    孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自学 ...

  6. 孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库...

    孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第二 ...

  7. python程序的三种基本结构是_Python程序设计实验五- 综合运用三种基本结构进行程序设计...

    安徽工程大学 [Python程序设计]实验报告 班级 :物流192 姓名:刘娇阳 学号:3190505213 成绩: 日期:2020.4.24 指导老师 :修宇 [实验名称]实验五 综合运用三种基本结 ...

  8. [Python从零到壹] 三十五.图像处理基础篇之OpenCV绘制各类几何图形

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  9. python三大器,Python 入门之 Python三大器 之 生成器

    Python 入门之 Python三大器 之 生成器 1.生成器 (1)什么是生成器? 核心:生成器的本质就是一个迭代器 迭代器是Python自带的 生成器程序员自己写的一种迭代器 def func( ...

最新文章

  1. 女朋友分手那天,女朋友说闺蜜老公收入是我 5 倍!还不去这些公众号学习?...
  2. windows中wnmp设置nginx启动脚本
  3. android 文件 c语言 jni,Android jni 调用的so文件一个函数的反汇编 高手来看看
  4. mysql用时查询_mysql 常用时间查询
  5. 吴恩达机器学习课程笔记章节二单变量线性回归
  6. linux查看网卡物理编号_Centos 网卡命名规范及信息查看(物理网卡,虚拟网卡)...
  7. docfx组件介绍--MarkdownLite
  8. 山西高考2021年成绩查询时间,2021年山西高考成绩公布时间
  9. TLS1.3对CIP的影响(对密码套件的解释)
  10. c# WebApi之解决跨域问题:Cors
  11. 【构造】构造一个字符串满足k个子序列问题总结
  12. 数学建模——典型相关分析及相关SPSS操作
  13. mac下载安装adb环境
  14. ppt学习-默认设置
  15. 移动智能终端之国产操作系统(笔记三)
  16. matlab实现序列卷积和运算,用matlab计算序列卷积和并绘图
  17. 写好简历的16个关键点
  18. STM32 | STM32CubeMX基础之TIM
  19. 已毕业学生的一些建议
  20. 3D Tiles规格1.0 中文版

热门文章

  1. 学习C/C++效率太慢?一份思维导图教你如何从零开始系统学好C/C++
  2. C语言实现cuckoo hash
  3. 51单片机农历转换公历c语言算法,C51写的51单片机用公历转农历和星期程序
  4. 容器(Container)
  5. linux中.emp结尾的文件,EMP文件扩展名 - 什么是.emp以及如何打开? - ReviverSoft
  6. N圆最密堆积、最小外接正方形的matlab求解(二维、三维等圆Packing 问题)
  7. 安装软件出现nsis error对话框的解决方法
  8. NVT SDK 67X获取文件时长的一种方式
  9. 市场调研—2021-2027中国鳍式场效应晶体管(FinFET)市场现状及未来发展趋势
  10. python实现阿列金分类法