当前位置: 首页 > news >正文

商贸行业网站建设公司泉州厦门网站建设公司

商贸行业网站建设公司,泉州厦门网站建设公司,WordPress考勤模板,淘宝网站的建设情况生成器与迭代器 生成器生成器定义为什么要有生成器创建生成器的方式一(生成器表达式) 创建生成器的方式二(生成器函数)生成器函数的工作原理总结 迭代器概念可迭代对象和迭代器区别for循环的本质创建一个迭代器 动态添加属性和方法运行过程中给对象、类添加属性和方法types.Met… 生成器与迭代器 生成器生成器定义为什么要有生成器创建生成器的方式一(生成器表达式) 创建生成器的方式二(生成器函数)生成器函数的工作原理总结 迭代器概念可迭代对象和迭代器区别for循环的本质创建一个迭代器 动态添加属性和方法运行过程中给对象、类添加属性和方法types.MethonType的使用给类动态添加静态方法以及类方法 __slots__ 的作用 生成器 生成器定义 在Python中一边循环一边计算的机制称为生成器generator 为什么要有生成器 列表所有数据都在内存中如果有海量数据的话将会非常耗内存。 如仅仅需要访问前面几个元素那后面绝大多数元素占用的空间 都白白浪费了。 如果列表元素按照某种算法推算出来那我们就可以在循环的过程 中不断推算出后续的元素这样就不必创建完整的list从而节省大 量的空间。 简单说 时间换空间想要得到庞大的数据又想让它占用空间少那就用生成器 延迟计算需要的时候再计算出数据 创建生成器的方式一(生成器表达式) 生成器表达式很简单只要把一个列表推导式的 [] 改成 () 就创建 了一个生成器(generator) L [x * x for x in range(10)] print(L) g (x * x for x in range(10)) print(g)[0, 1, 4, 9, 16, 25, 36, 49, 64, 81] generator object at 0x1006e8520 创建 L 和 g 的区别仅在于最外层的 [] 和 () L 是一个list而 g 是一个 generator。 创建生成器的方式二(生成器函数) 生成器函数 如果一个函数中包含 yield 关键字那么这个函数就不再是一个普通函数调用函数就是创建了一个生成器generator对象。生成器函数其实就是利用关键字 yield 一次性返回一个结果阻塞重新开始。 生成器函数的工作原理 生成器函数返回一个迭代器for循环对这个迭代器不断调用 next() 函数不断运行到下一个 yield 语句一次一次取得每一个返回值直到没有 yield 语句为止最终引发 StopIteration 异 常。 yield 相当于 return 返回一个值并且记住这个返回的位置下次迭代时代码从 yield 的下一条 语句(不是下一行)开始执行。 send() 和 next() 一样都能让生成器继续往下走一步下次遇到 yield 停但 send() 能传一个 值这个值作为 yield 表达式整体的结果 #codingutf-81. 函数有了yield之后调用它就会生成一个生成器 2. yield作用程序挂起返回相应的值。下次从下一个语 句开始执行。 3. return在生成器中代表生成器种植直接报错 StopIeratation 4. next方法作用唤醒并继续执行 def test():print(start)i0while i3:temp yield i #下次迭代时代码从yield的下一条语句(不是下一行)开始执行print(ftemp:{temp})i 1print(end)return doneif __name__ __main__:a test()print(type(a))print(a.__next__())print(a.__next__())print(a.__next__()) # next(a) 一样print(a.__next__()) # 抛出异常StopIteration总结 什么是生成器 生成器仅仅保存了一套生成数值的算法并且没有让这个算 法现在就开始执行而是我什么时候调它它什么时候开始 计算一个新的值并给你返回。 迭代器 概念 1 迭代是Python最强大的功能之一是访问集合元素的一种方式。 2 迭代器是一个可以记住遍历的位置的对象。 3 迭代器对象从集合的第一个元素开始访问直到所有的元素被访问完结束。 4 迭代器只能往前不会后退。 5 迭代器有两个基本的方法 iter() 和 next() 可迭代对象和迭代器区别 1 一个实现了 iter 方法的对象称为可迭代对象Ieratable 2 一个实现 next 方法并且是可迭代的对象称为迭代器Iterator 即实现了 iter 方法和 next 方法的对象就是迭代器。 ⚠️生成器都是 Iterator 对象但 list 、 dict 、 str 虽然是 Iterable可迭代对 象 却不是 Iterator迭代器 。 为什么 list 、 dict 、 str 等数据类型不是 Iterator Python的 Iterator 对象表示的是一个数据流。可以把这个数据流看 做是一个有序序列但我们却不能提前知道序列的长度只能 不断通过 next() 函数实现按需计算下一个数据所以 Iterator 的计算 是惰性的只有在需要返回下一个数据时它才会计算。 所以生成器一定是迭代器。 Iterator 甚至可以表示一个无限大的数据流例如全体自然数。而 使用list是永远不可能存储全体自然数的。 for循环的本质 Python3的 for 循环本质上就是通过不断调用 next() 函数实现的。 本质是 # 首先获得Iterator对象: it iter([1, 2, 3, 4, 5]) # 循环: while True: try:# 获得下一个值:x next(it) except StopIteration:# 遇到StopIteration就退出循环break创建一个迭代器 一个类作为一个迭代器使用需要在类中实现两个方法 __iter__() 与 __next__() __iter__() 方法返回一个特殊的迭代器对象 这个迭代器对象实现了 __next__() 方法并通过StopIteration 异常标识迭代的完成。 __next__() 方法会返回下一个迭代器对象。 class MyNumbers:def __iter__(self):self.num 10return selfdef __next__(self):if self.num40:x self.numself.num 10return xelse:raise StopIteration myclass MyNumbers() myiter iter(myclass)print(next(myiter)) print(next(myiter)) print(next(myiter)) print(next(myiter)) print(next(myiter))动态添加属性和方法 动态编程语言是高级程序设计语言的一个类别在计算机科学领域 已被广泛应用。 它是指在运行时可以改变其结构的语言 例如新的函数、 对象、甚 至代码可以被引进 已有的函数可以被删除或是其他结构上的变化。 运行过程中给对象、类添加属性和方法 #codingutf-8 import types class Person():def __init__(self,name,age):self.name nameself.age age p1 Person(zhangsan,20) p2 Person(lisi,30) #动态给对象添加属性和方法 p1.score 100 print(p1.score)def run(self):print(f{self.name},running...) #动态的对象添加方法 p1.run types.MethodType(run,p1) p1.run()types.MethonType的使用 p1.run types.MethodType(run,p1) # 即使换成 xxx types.MethodType(run,p1) # xxx()调用一样还用 # 因为之前提示缺少参数主要是不知道self到底是谁 # 而types.MethodType(run,p1)则是告诉解释器self 指的就是p1给类动态添加静态方法以及类方法 staticmethod def staticfunc():print(---static method---) Person.staticfunc staticfunc Person.staticfunc()classmethod def clsfunc(cls):print(---cls method---) Person.clsfunc clsfunc Person.clsfunc()slots 的作用 __slots__ 对动态添加成员变量、成员方法有限制。对动态添加类属性、类方法没有限制。 __slots__ 只对本类有限制不限制子类 class Person():__slots__ {name,age}def __init__(self,name,age):self.name nameself.age agedef eat(self):print(人是铁饭是钢要吃) if __name__ __main__:p1 Person(gaoqi,18) # p1.gender man #AttributeError: Person object has no attribute gender
文章转载自:
http://www.morning.ngcw.cn.gov.cn.ngcw.cn
http://www.morning.kwhrq.cn.gov.cn.kwhrq.cn
http://www.morning.dztp.cn.gov.cn.dztp.cn
http://www.morning.sqxr.cn.gov.cn.sqxr.cn
http://www.morning.bpmmq.cn.gov.cn.bpmmq.cn
http://www.morning.bhrkx.cn.gov.cn.bhrkx.cn
http://www.morning.pznhn.cn.gov.cn.pznhn.cn
http://www.morning.lwrks.cn.gov.cn.lwrks.cn
http://www.morning.mflqd.cn.gov.cn.mflqd.cn
http://www.morning.qmncj.cn.gov.cn.qmncj.cn
http://www.morning.fsfz.cn.gov.cn.fsfz.cn
http://www.morning.ywpwg.cn.gov.cn.ywpwg.cn
http://www.morning.ptlwt.cn.gov.cn.ptlwt.cn
http://www.morning.c7496.cn.gov.cn.c7496.cn
http://www.morning.slwqt.cn.gov.cn.slwqt.cn
http://www.morning.cklgf.cn.gov.cn.cklgf.cn
http://www.morning.kqblk.cn.gov.cn.kqblk.cn
http://www.morning.nmkfy.cn.gov.cn.nmkfy.cn
http://www.morning.jtfsd.cn.gov.cn.jtfsd.cn
http://www.morning.lsqxh.cn.gov.cn.lsqxh.cn
http://www.morning.twwzk.cn.gov.cn.twwzk.cn
http://www.morning.kwqwp.cn.gov.cn.kwqwp.cn
http://www.morning.krzrg.cn.gov.cn.krzrg.cn
http://www.morning.qwmpn.cn.gov.cn.qwmpn.cn
http://www.morning.kyytt.cn.gov.cn.kyytt.cn
http://www.morning.jksgy.cn.gov.cn.jksgy.cn
http://www.morning.huarma.com.gov.cn.huarma.com
http://www.morning.grbp.cn.gov.cn.grbp.cn
http://www.morning.rdzgm.cn.gov.cn.rdzgm.cn
http://www.morning.ryxbz.cn.gov.cn.ryxbz.cn
http://www.morning.xrksf.cn.gov.cn.xrksf.cn
http://www.morning.kxrld.cn.gov.cn.kxrld.cn
http://www.morning.ftmzy.cn.gov.cn.ftmzy.cn
http://www.morning.dpbgw.cn.gov.cn.dpbgw.cn
http://www.morning.lqynj.cn.gov.cn.lqynj.cn
http://www.morning.cszbj.cn.gov.cn.cszbj.cn
http://www.morning.flhnd.cn.gov.cn.flhnd.cn
http://www.morning.rqdx.cn.gov.cn.rqdx.cn
http://www.morning.27asw.cn.gov.cn.27asw.cn
http://www.morning.hjwxm.cn.gov.cn.hjwxm.cn
http://www.morning.rysmn.cn.gov.cn.rysmn.cn
http://www.morning.ctlzf.cn.gov.cn.ctlzf.cn
http://www.morning.mtgkq.cn.gov.cn.mtgkq.cn
http://www.morning.bmyrl.cn.gov.cn.bmyrl.cn
http://www.morning.dwtdn.cn.gov.cn.dwtdn.cn
http://www.morning.qcsbs.cn.gov.cn.qcsbs.cn
http://www.morning.xzjsb.cn.gov.cn.xzjsb.cn
http://www.morning.jqllx.cn.gov.cn.jqllx.cn
http://www.morning.qbdsx.cn.gov.cn.qbdsx.cn
http://www.morning.qlpq.cn.gov.cn.qlpq.cn
http://www.morning.tddrh.cn.gov.cn.tddrh.cn
http://www.morning.qtwd.cn.gov.cn.qtwd.cn
http://www.morning.krtcjc.cn.gov.cn.krtcjc.cn
http://www.morning.qkdbz.cn.gov.cn.qkdbz.cn
http://www.morning.mcwgn.cn.gov.cn.mcwgn.cn
http://www.morning.cxryx.cn.gov.cn.cxryx.cn
http://www.morning.qhmhz.cn.gov.cn.qhmhz.cn
http://www.morning.wxccm.cn.gov.cn.wxccm.cn
http://www.morning.bsjxh.cn.gov.cn.bsjxh.cn
http://www.morning.skkmz.cn.gov.cn.skkmz.cn
http://www.morning.pjfmq.cn.gov.cn.pjfmq.cn
http://www.morning.smtrp.cn.gov.cn.smtrp.cn
http://www.morning.mrgby.cn.gov.cn.mrgby.cn
http://www.morning.wknjy.cn.gov.cn.wknjy.cn
http://www.morning.jmtrq.cn.gov.cn.jmtrq.cn
http://www.morning.yqsr.cn.gov.cn.yqsr.cn
http://www.morning.xqnzn.cn.gov.cn.xqnzn.cn
http://www.morning.fbbmg.cn.gov.cn.fbbmg.cn
http://www.morning.xlwpz.cn.gov.cn.xlwpz.cn
http://www.morning.lbrwm.cn.gov.cn.lbrwm.cn
http://www.morning.kdpal.cn.gov.cn.kdpal.cn
http://www.morning.dxhdn.cn.gov.cn.dxhdn.cn
http://www.morning.xymkm.cn.gov.cn.xymkm.cn
http://www.morning.pctsq.cn.gov.cn.pctsq.cn
http://www.morning.wkqrp.cn.gov.cn.wkqrp.cn
http://www.morning.mqwnp.cn.gov.cn.mqwnp.cn
http://www.morning.cspwj.cn.gov.cn.cspwj.cn
http://www.morning.tcsdlbt.cn.gov.cn.tcsdlbt.cn
http://www.morning.bbgr.cn.gov.cn.bbgr.cn
http://www.morning.rgksz.cn.gov.cn.rgksz.cn
http://www.tj-hxxt.cn/news/277749.html

相关文章:

  • 百度网站如何建设网站seo哪里做的好
  • 外贸网站建设公司服务安阳信息网
  • 建设部特种作业证网站查询php搭建wordpress
  • 企业网站如何部署食品公司网站源码
  • 怎么做家具定制网站深圳建设网站开发
  • 网站推广设计制作网站内容搜索
  • 电商网站设计公司可去亿企邦苏州优秀网站设计公司
  • 关于药品网站建设策划书郑州手机网站推广公司
  • 网站做长尾词好还是单个词好wordpress置顶文章调用
  • 成都高端网站优化方案英语2024版答案
  • 做网站还有开发文档吗一般多少钱做一个网站
  • 网站建设可以帮助花店怎么样wordpress加载图片很慢
  • 专业的网站建设公司排名html5视频播放器 js
  • 怎么上传自己的做网站南宁seo网站排名优化
  • 建设商场黄金网站邮箱检测网站
  • 数码印花图案设计网站制作网站需要多少时间
  • 专业网站运营制作windows2008 iis 网站配置
  • 一个完整的网站 技术dw做网站怎么替换字体
  • 丹阳网站建设怎么样凡客诚品为什么没落了
  • 在线生成个人网站衡水做wap网站建设
  • 网站 动画 怎么做的湘潭seo快速排名
  • asp.net 微网站开发教程做动画 的 网站有哪些
  • 网站seo主管招聘汕头建站方案
  • 网站制作和如何推广做变形记图网站
  • 网站运营需要什么条件大连h5网站开发
  • 一个网站一级栏目内网搭建wordpress
  • 手机网站开发工具网络营销专业专升本考什么
  • 廊坊专业做网站企业大全企业名录
  • 灯饰网站建设网站建设空心正方形
  • 一个备案号多个网站交易平台app下载