自学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( ...
最新文章
- 女朋友分手那天,女朋友说闺蜜老公收入是我 5 倍!还不去这些公众号学习?...
- windows中wnmp设置nginx启动脚本
- android 文件 c语言 jni,Android jni 调用的so文件一个函数的反汇编 高手来看看
- mysql用时查询_mysql 常用时间查询
- 吴恩达机器学习课程笔记章节二单变量线性回归
- linux查看网卡物理编号_Centos 网卡命名规范及信息查看(物理网卡,虚拟网卡)...
- docfx组件介绍--MarkdownLite
- 山西高考2021年成绩查询时间,2021年山西高考成绩公布时间
- TLS1.3对CIP的影响(对密码套件的解释)
- c# WebApi之解决跨域问题:Cors
- 【构造】构造一个字符串满足k个子序列问题总结
- 数学建模——典型相关分析及相关SPSS操作
- mac下载安装adb环境
- ppt学习-默认设置
- 移动智能终端之国产操作系统(笔记三)
- matlab实现序列卷积和运算,用matlab计算序列卷积和并绘图
- 写好简历的16个关键点
- STM32 | STM32CubeMX基础之TIM
- 已毕业学生的一些建议
- 3D Tiles规格1.0 中文版
热门文章
- 学习C/C++效率太慢?一份思维导图教你如何从零开始系统学好C/C++
- C语言实现cuckoo hash
- 51单片机农历转换公历c语言算法,C51写的51单片机用公历转农历和星期程序
- 容器(Container)
- linux中.emp结尾的文件,EMP文件扩展名 - 什么是.emp以及如何打开? - ReviverSoft
- N圆最密堆积、最小外接正方形的matlab求解(二维、三维等圆Packing 问题)
- 安装软件出现nsis error对话框的解决方法
- NVT SDK 67X获取文件时长的一种方式
- 市场调研—2021-2027中国鳍式场效应晶体管(FinFET)市场现状及未来发展趋势
- python实现阿列金分类法