python函数的闭包,迭代器,生成器书,生

1.闭包就是内层函数,对外层函数(非全局)的变量的引用.叫闭包

#闭包deffunc():name='alex'#常驻内存防止其他程序改变这个变量definner():print(name)#在内层函数调用了外层函数的变量,叫闭包,可以让一个局部变量常驻内存returninnerret=func()ret()#执行的是inner()2.__closure__用来检测函数是否闭包.使用函数名.__closure__

deffunc():name='alex'definner():print(name)inner()print(inner.__closure__)#是闭包。返回func()print(func.__closure__)#不是闭包,返回None二.迭代器

1.可迭代对象strtuplelistsetfdictrange2.f是迭代器3.所有的以上数据类型都有一个__iter__()4.dir()来查看一个对象,数据类型包含了哪些东西lst=[1,2,3]#print(dir(lst))it=lst.__iter__()#获取迭代器print("__iter__"indir(lst))#判断是否是一个可迭代的数据类型iterableprint("__next__"indir(lst))#判断是否是一个迭代器iteratorprint("__iter__"indir(it))print("__next__"indir(it))#isinstance(对象,类型)fromcollectionsimportIterablefromcollectionsimportIteratorit=lst.__iter__()print(isinstance(it,Iterable))#判断是否可迭代迭代器一定是可迭代的print(isinstance(it,Iterator))#迭代器里面一定有__next__(),__inter__()

#模拟for循环lst=["鲁班","七号","宫本","武藏"]it=lst.__iter__()whileTrue:try:#异常处理name=it.__next__()print(name,end='')exceptStopIteration:break5.Iterable:可迭代对象.内部包含__iter__()函数

6.terator:迭代器.内部包含__iter__()同时包含__next__().

7.迭代器的特点:

1.节省内存.2.惰性机制3.只能往前拿,不能反着拿.

三.生成器

1.生成器实质就是迭代器

2.在python中有三种方式来获取成器:

1.通过生成器函数2.通过各种推导式来实现生成器3.通过数据的转换也可以获取成器

3.将函数中的return换成yield就是生成器

#deffunc():#print("大家好")#a=yield'我是练习一年半的个人练习生'#函数中包含了yield,当前这个函数不再是普通函数,是生成器函数#print(a)#b=yield"喜欢篮球"#print(b)#c=yield"music"#__next__()可以让生成器执行下一步#print(c)#send()也可以让生成器执行下一步,#yield"律师函警告"#给上一个yield传一个值,第一个不能用send(),最后一个不能传值#g=func()#获取生成器#ret=g.__next__()#print(ret)#ret2=g.send("蔡")#print(ret2)#ret3=g.send("rap")#print(ret3)#ret4=g.send("鸡你太美")#print(ret4)四.列表推导式

1.列表推导式的常用写法:[结果for变量in可迭代对象]

2.筛选模式:[结果for变量in可迭代对象if条件]

3.list列表推导式

lst=[iforiinrange(4)]print(lst)g=(iforiinrange(4))print(g.__next__())print(g.__next__())print(g.__next__())print(g.__next__())4.dict字典推导式

dic={'a':'b','c':'d'}dic1={dic[i]:iforiindic}print(dic1)5.set集合推导式

lst=["润田","农夫","润田","山泉"]s={iforiinlst}print(s)6.寻找名字中带有两个e的人的名字

names=[['Tom',"Billy","Jefferson","Welsey"],["Alice","Jill","Ana","Weny"]]lst=[nameforfirstinnamesfornameinfirstifname.count('e')==2]print(lst)7.生成器表达式和列表推导式的区别:

1.列表推导式比较耗内存.次性加载.成器表达式几乎不占用内存.使的时候才分配和使用内存

2.得到的值不样.列表推导式得到的是个列表.成器表达式获取的是个生成器.

THE END
1.上海径硕网络科技申请基于人工智能的图片生成专利,能够高质高效上海径硕网络科技申请基于人工智能的图片生成专利,能够高质高效生成效果图满足用户需求 金融界2024年12月9日消息,国家知识产权局信息显示,上海径硕网络科技有限公司申请一项名为“一种基于人工智能的图片生成方法”的专利,公开号 CN 119090986 A,申请日期为 2024 年 8 月。专利摘要显示,本发明公开了一种基于人工https://baijiahao.baidu.com/s?id=1817968072646666557&wfr=spider&for=pc
2.伪造律师函,伪造律师函生成器律师函只代表声明作用,并不代表法院认可,如果委托人,以及律师利用权力伪造,造假律师函给受害者,属于违法犯罪行为。受害者收到恐吓、威胁、损失等,应当报警处理,追究委托人,律师的责任。 伪造律师函的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于伪造律师函生成器、伪造律师函的信息别忘了在本站进行查找喔。https://www.lawyer365.cn/44778.html
3.律师函Word模板下载编号qoexpxnv律师函模板由设计师熊猫办公用户(ID: 10012) 在2023-08-08完成设计制作并上传,欢迎下载使用! 律师律师函模板生成器如认为平台内容涉嫌侵权,可通过邮件:tousu@tukuppt.com提出书面通知,我们将及时处理。 相关搜索 侵权律师函 名誉权律师函 欠款律师函 公司催款律师函 https://www.tukuppt.com/muban/qoexpxnv.html
4.设计神器AiDraw!模拟手绘线描艺术生成器优优教程网神器作者没有做明确的可否商用声明,不过本着设计师的职业道德,最好也别拿去盈利,万一律师函漂洋过海来看你了呢。 值得一试的3个理由 十分简单的操作流程 识别功能强大 生成结果精细可控 之前那个 Pixel Me 当时我已经玩儿疯了,现在又出来了这个 AI Draw,估计身边的朋友又要找我生成图片了。设计工作之余需要放松https://uiiiuiii.com/software/464060.html
5.律师函范本word模板免费下载编号1k3ag939z图精灵为您提供律师函范本免费下载,格式为doc,下载后直接使用,更多word模板就在图精灵https://616pic.com/sucai/1k3ag939z.html
6.2024年10大最强AI绘画工具,四步完成在线免费AI绘画!GitMind AI绘画是一款提供了多种语言界面的AI绘画生成器,界面简单易上手,AI生成图片的效果惊艳,从插画到素描再到像素画,它都能快速绘制! 在GitMind进行AI绘画很简单,只要输入描述文字,选择好图片比例,并选择喜欢的图片风格,比如:动画、朋克、插画和3D等,等待几秒就可以快速生成好看的AI绘画作品,不需要深厚的AI绘画https://www.5bei.cn/the-top-10-strongest-ai-painting-tools-in-2024-co.html
7.律师函在线制作生成使用ai快速生成专业的法律文件撰写合同 撰写律师函 招聘启事模板 撰写企业规章制度 撰写通知公告 AI生成https://m.88wenzhang.com/chatai/mobil/apply/apply_id/49.html
8.我朋友贩卖电话号码1万条,从号码生成器生成的电话号码,获利2万元关于我朋友贩卖电话号码1万条,从号码生成器生成的电话号码,获利2万元 这个会造成什么罪的律师回答 广东商达(南宁)律师事务所律师 已帮助 26572人· 综评5.0 涉嫌侵犯公民个人信息罪,可处三年以下有期徒刑或者拘役,并处或者单处罚金。 2020.02.29 10:51 · IP属地:广西 西城区 付新岭律师平台推荐 已帮助 https://m.66law.cn/question/27285385.aspx
9.在线自由布局工具多功能淘宝天猫店铺装修特效代码生成器官方Adobe已经寻到中国代理,开始正式打击盗版用户,已有公司因为使用盗版PS/DW或者是其他ADOBE系列软件而收到律师函 昨天我们公司的法务大佬发来一条信息 大致意思说Adobe软件公司发来律师函 秋库菌电脑里装了盗版PS 要尽快删除 而且已经通过技术手段定位 不立即停止的话 https://www.mgzxzs.com/tbtmxw/2803.html
10.收到Sybase公司PowerDesigner产品的律师函后,只能改进一下思路了当然我们也想购买正版的PowerDesigner但是实在太贵了,有些买不起;最近正好收到了Sybase公司的律师函了,若再用就会吃官司了,那麻烦事情就大了;只能把所有跟Sybase公司相关的东西能卸载的全卸载了,只能忍痛割爱了;因为法律不是开玩笑的,若真在用那打了官司就必输了,直接全部卸载干净多一事情不如少一事情了。 https://blog.csdn.net/weixin_30652879/article/details/97427988
11.个性签名是什么意思全新签名字体在线生成器免费下载-可商用签名字体在线生成器免费下载-设计必备字体库 有了,无需下字体包,即可无缝自由切换,再也不用担心字体版权问题,签名字体为企业和设计师量身定做的一款签名设计免费版工具,,可以获得签名设计免费版的字体,无需担心版权问题,从此告别律师函,签名设计免费版,小白也能变大神.广告 https://wenda.so.com/q/1387167830068409