最新要闻
- 最轻折叠屏OPPO Find N2来了!朱海舟:上手后你会WOW一下
- 当前热点-负债585.68亿、工资发不出:国美获黄光裕公司贷款1.5亿港元
- 天天快讯:NVIDIA力推的光追版《传送门》游戏被指代码糟糕:AMD显卡坑了
- 零百加速3.8秒马力暴躁 蔚来全系车型试驾会郑州站开启
- 当前观点:后矿难时代 显卡价格仍居高不下
- 天天快消息!布洛芬不用抢 中国产能全球第一:一家公司就够33亿人用
- 世界即时:突发!特斯拉中国工厂将停产Model Y
- 世界速看:一箱油能跑1200公里!比亚迪护卫舰07上市 20.28万起
- 当前通讯!雷军再谈小米13徕卡影像:非常自豪 你一定会被震撼到
- 【天天时快讯】我 一个程序员 靠玩ChatGPT年薪210万
- 世界看点:DX9性能大涨80% Intel驱动打鸡血原因找到了:做法很聪明
- 关注:南京一外卖小哥逆行撞劳斯莱斯 网友:几十年外卖白送了
- 今日快看!全球首架C919正式交付 中国搞这款大飞机有多不容易?
- AI画作拍出110万高价创纪录!实测百度AI作画 效果惊艳
- 主人吃螺蛳粉:猫咪被臭到自闭
- 世界观速讯丨19岁少女无法走路 竟是因为它?国家早已明令禁止!
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
今日播报!Python装饰器与迭代器的学习教程
1.装饰器
1什么是装饰器
(相关资料图)
装饰器就是装饰别人的工具,具体是指为被装饰者添加新功能,为一个新函数添加新功能
2为何要用装饰器 (开放封闭原则)
为了不修改被装饰者的源代码以及调用方式的前提下,为被装饰着添加新功能
3如何实现装饰器
通过这个模板来实现具体看实际情景添加一些代码
def outter(func):def wrapper(*args,**kwargs): res=func(*args,**kwargs) return resreturn wrapper
2.装饰器语法糖
就是在被装饰函数头放一个@outter装饰者函数名字 等同于把outter返回值为wrapper内存地址 wrapper内存地址给index从新赋值
def outter(func): #最原始的index的内存地址 def wrapper(*args,**kwargs): #形参 *与**原封不动给func res=func(*args,**kwargs) #获取返回值为func的return 有就返回,没有就返回None return res #返回值为func的return 有就返回,没有就返回None return wrapper #返回wrapper的内存地址@outter 等同于 index=outter(index) wrapper内存地址赋值给index **这就是语法糖**def index (x,y): print("我是index",x,y) return 123 #返回值1 2 3print(index(1,2)) #调用index实际是调用wrapper(形参)
3.装饰器模板
def outter(func): def wrapper(*args,**kwargs): #形参 *与**原封不动给func res=func(*args,**kwargs) #获取返回值为func的return 有就返回,没有就返回None return res #返回值为func的return 有就返回,没有就返回None return wrapper #返回wrapper的内存地址#@outter # 等同于 index=outter(index) wrapper内存地址赋值给index,index内存地址被重新赋值def index (x,y): print("我是index",x,y) return 123 #返回值1 2 3print(index) #.wrapper at 0x000001AD182EA790> 相当于调用wrapperprint(index(1,2)) #调用index实际是调用wrapper(形参)
这个装的更像
上面的help方法获取的还是wrapper
内存地址还是wrapper
这个全部都是index
from functools import wrapsdef outter(func): @wraps(func) def wrapper(*args, **kwargs): start = time.time() res = func(*args, **kwargs) stop = time.time() print(stop - start) return res return wrapper@outter # index = outter(index)def index(x, y, z): """index函数的文档注释""" print("welcome to index page", x, y) time.sleep(3) return 123res = index(111, 222, 333)print(res) #index里面的输出语句 welcome too.....print(index) #输出index的内存地址 @wraps模仿的 把index 内存地址都换过来了help(index) #输出index的注释文档信息 @wraps模仿的 把index注释都换过来了
4.迭代器
1 什么是迭代器
迭代器指的是迭代取值的工具
什么是迭代???
- 迭代是一个重复的过程,但是每一次重复都是基于上一次结果而继续的
- 比如 一个项目 第一个人做了一半 第二个人接着第一个人继续做,
2 为何要用迭代器
为了找到一种统一迭代取值方案(适用于str、list、tuple、dict、set,文件对象)
节省内存
3 如何用迭代器
可迭代的对象iterable:
- 内置有
__iter__
方法的对象(str、list、tuple、dict、set,文件对象) 除了int float 都可以迭代 - 有
__iter__
方法的就是可迭代对象 - 有
_next_
方法的就是迭代器对象
迭代器对象一定是 可迭代的可迭代对象不一定是迭代对象
迭代器对象iterator:
- 内置有__iter__方法
- 内置有__next__方法
4.总结for循环好用 for循环就是迭代器
例子
dic = {"k1": 1111, "k2": 2222, "k3": 3333,"k4":4444,"k5":5555}iter_dic = iter(dic) #dic通过tier转换一下,成迭代器对象iter_dic.__next__() #有next方法print(iter_dic.__iter__().__iter__().__iter__() is iter_dic) 已经是迭代器对象,在调iter也没用还是之前的对象while True: try: #捕捉异常 print(next(iter_dic)) #next循环下一个 except StopIteration: breakfor x in dic: #总结 for循环好用 for循环就是迭代器循环 print(x)
例:
dic = {"k1": 1111, "k2": 2222, "k3": 3333,"k4":4444,"k5":5555} iter_dic = iter(dic) #迭代器取完就没了 从新获取 for k in iter_dic: #如果是dic第一次可以取到dic自动调iter方法变成迭代器对象超级赛亚人 #调迭代器对象的iter还是本身 第一次可以取到 print(k) print("="*50) # iter_dic = iter(dic) #如果打开这个 就是从新赋值 迭代器可以取到东西 for k in iter_dic: #如果再次dic调取iter方法还会变成迭代器对象,超级赛亚人所以还可以取出来 #调迭代器对象的iter还是本身第二次取不到值 print(k) -------------------------------------------------------------------------------------------------------------- with open("a.txt",mode="rt",encoding="utf-8") as f: for line in f: #f本身就是迭代器对象 调iter方法变身失败还是本身 ,然后循环赋值给line print(line)#输出line print("="*50) for line in f: #再用f.iter还是迭代器对象本身,变身失败还是本身 print(line)
5.自定义迭代器 生成器对象
# yield可以返回多次值def func(): print("hello1") print("hello1") print("hello1") yield 111 print("hello2") print("hello2") print("hello2") yield 222 print("hello3") print("hello3") print("hello3") print("hello3") yield 333 print("hello4") print("hello4") print("hello4") print("hello4")#函数内但凡出现yield语法,我们再调用函数就不会立即触发函数体代码运行,会返回一个生成器对象,生成器对象就是一种自定义的迭代器res=func() #返回一个生成器对象print(next(res)) #返回yield值
今日播报!Python装饰器与迭代器的学习教程
全球快资讯:你必须记住的30个CSS选择器?
最轻折叠屏OPPO Find N2来了!朱海舟:上手后你会WOW一下
当前热点-负债585.68亿、工资发不出:国美获黄光裕公司贷款1.5亿港元
天天快讯:NVIDIA力推的光追版《传送门》游戏被指代码糟糕:AMD显卡坑了
零百加速3.8秒马力暴躁 蔚来全系车型试驾会郑州站开启
世界短讯!MAUI新生5.2-样式外观:控件状态样式VisualState
python实现简单的商品数据管理系统
全球动态:asp.net core 基于Cookies的认证,自定义认证方案
全球新消息丨nginx中的正则表达式,location路径匹配规则和优先级
当前观点:后矿难时代 显卡价格仍居高不下
环球通讯!Java校验自定义枚举值
全球观天下!第一百一十一篇:基本引用类型Date
天天快消息!布洛芬不用抢 中国产能全球第一:一家公司就够33亿人用
天天短讯!BLOG-3总结
世界即时:突发!特斯拉中国工厂将停产Model Y
世界速看:一箱油能跑1200公里!比亚迪护卫舰07上市 20.28万起
当前通讯!雷军再谈小米13徕卡影像:非常自豪 你一定会被震撼到
【天天时快讯】我 一个程序员 靠玩ChatGPT年薪210万
世界看点:DX9性能大涨80% Intel驱动打鸡血原因找到了:做法很聪明
关注:南京一外卖小哥逆行撞劳斯莱斯 网友:几十年外卖白送了
今日快看!全球首架C919正式交付 中国搞这款大飞机有多不容易?
AI画作拍出110万高价创纪录!实测百度AI作画 效果惊艳
主人吃螺蛳粉:猫咪被臭到自闭
世界观速讯丨19岁少女无法走路 竟是因为它?国家早已明令禁止!
rsync远程同步
世界观焦点:AMD RX 7900 XTX渲染跑分性能曝光:感觉和RTX 4080两个时代
【热闻】国内电影票房已达285亿 《阿凡达2》成救命稻草:高价被指吃相难看
世界热推荐:为什么日本人更健康长寿?这12个“秘诀”值得借鉴
小米13 Pro长焦表现一绝:10cm至无穷远均可合焦
【报资讯】网传辽宁一有轨电车碾压电动自行车 官方回应:系剐蹭、人无碍
netmiko+textfsm自动统计交换机端口模块型号数量与闲置模块
【全球独家】【网关开发】4.Openresty 使用events插件进行事件通知
世界新消息丨蒟蒻颤抖:AI打信奥赛,三分之二赛题一遍过
【求助帖】从技术转为项目经理后,如何快速进入角色?
angr_ctf——从0学习angr(四):库操作和溢出漏洞利用
【世界速看料】新一代广汽本田皓影官图发布:大嘴变方嘴、可选7座
《原神》获TGA“玩家之声”奖!官方发800原石:全体都有
世界新动态:一部车骑10年!绿源推出INNO9-lite电动自行车:新国标 80km续航
天天快消息!NVIDIA发布527.56显卡驱动程序:DLSS 3游戏性能更强了
天天最资讯丨站起来了!哈弗H6插电混动版11月销量首超4000:直逼问界M5
焦点速递!CSS绝对定位7大应用场景实战案例分享
教你用CSS实现表单部件
环球热议:物联网平台在AIoT领域8大场景应用
东航官宣全球第一架C919商业首飞时间!这7大城市有福了
打爆丰田、本田混动SUV 比亚迪护卫舰07上市:20.28万起
天天微资讯!换代!AMD锐龙9 7950X3D来了:游戏性能比酷睿i9-13900K高出33%
【速看料】全国5G网络接入速率出炉:北京、上海都没抢到第一 移动最快
【世界新要闻】上线7年无敌手!《王者荣耀》11月吸金超13亿元:蝉联销冠
观点:MYSQL 1 DAY
世界微速讯:智能PDU,网络远程管理电源能耗提升配电效率
当前滚动:“云办公”如何用任务协同工具搞定项目和团队管理?
今日聚焦!SSM整合(spring-springmvc-mybatis)之CRUD
焦点日报:又拓新业务 比亚迪全新皮卡谍照曝光:DM混动没跑了
热点!不掉绒、无静电!史努比牛奶绒床品四件套大促:券后99元
天天快讯:一箭十四星 捷龙三号运载火箭首飞发射成功:海陆两用
焦点快播:QQ等级全球第一咋做到的?本人回应让网友羡慕:小时候家里开网吧
官方“挖墙脚”?网易《逆水寒》宣布推出“网易魔兽老兵服”
资讯:vscode使用chatGPT
全球滚动:我与 ChatGPT 讨论了面向对象语言 中,关于动态调用的问题
快播:第三方登录组件-JustAuth
【环球报资讯】BI智慧仓储,带你体验数字化仓储物流管理
环球今亮点!把ipa文件上传到App Store教程步骤
每日热讯!易基因:简化甲基化测序(RRBS)在植物生态表观基因组学中的机遇和局限|深度综述
当前聚焦:记.net framework php接口 返回数据格式问题 请求接口远程服务器返回错误: (500) 内部服务器错误
ChatGPT 大白话 SmartIDE
Zabbix与乐维监控对比分析(三)——对象管理篇
全球报道:专访|开源之夏最佳质量奖 Apache RocketMQ Committer 黄章衡
世界热消息:.net6制作让同事不能上网的arp欺骗工具
每日热门:如何利用 A/B 实验提升产品用户留存? 看字节实战案例给你答案!
chatGPT辣么火,你却不会注册
每日速讯:2022最新上传ipa到appstore的步骤说明
怎么在电脑上查看iPhone定位?iphone定位不准怎么校正?
怎么验证windows是不是正版?验证windows正版的方法有哪些?
光大银行信用卡额度一般是多少?光大银行信用卡怎么查询进度?
银行卡号泄露有危险吗?银行卡号泄露挂失有用吗?
空调怎么省电?空调省电的正确用法有哪些?
word文档怎么做思维导图?word文档怎么做小抄?
宏碁4750g怎么进入bios?宏碁4750G需要哪些驱动?
电视机顶盒怎么破解?电视机顶盒哪个牌子好用?
诺基亚710上市价格是多少?诺基亚710手机现在能用吗?
天然气热值是多少大卡?天然气热值换算表
环球热议:行为管理(锐捷业务软件篇)
焦点报道:直播间疯狂刷礼物可能是在洗钱:网络水军用千部手机给主播打赏 最多刷10亿元
国产操作系统deepin推送20.8版本:wine应用开启速度获得提升
联想PC小新桌面助手上线:实用性堪比手机控制中心
无叶无根无枝条的花你见过没?曾消失30年:开败后就变黑
世界今亮点!《原神》《幻塔》都败了!《MARVEL SNAP》摘得TGA 2022年度最佳手游
【全球速看料】BI智慧仓储行业应用方案,让你的仓储物流不再复杂
【全球播资讯】RTX 3050加持 联想轻薄旗舰本小新Pro 16史低价:5799元
【聚看点】特斯拉左转失控 车主称刹车和方向盘突然变硬:官方售后回应尴尬
观热点:海外经销商顶不住:RTX 4080英国又降价 轻松降近900元还会继续
焦点播报:首批车主反馈良好!恒驰汽车回应停工停产传闻:恒驰5按计划交付
即时焦点:谷歌Chrome浏览器新模式上线:最多可减少30%内存占用
每日消息!2岁就给爹打工 马斯克给儿子发了一张工牌
世界球精选!《仙剑奇侠传七》更新2.0版本:体积直接减半 内存、显存占用更低
振奋!全球首架C919今日交付中国东方航空:大家啥时候能坐上国产大飞机?
真实感渲染:变换(二维与三维)
老年人到底要不要打新冠疫苗?怎么打?一文说清
世界实时:对称加密