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

lol有哪些网站是做陪玩的上海最出名的编程培训

lol有哪些网站是做陪玩的,上海最出名的编程培训,遵义网站建设找工作,wordpress更新无法创建目录一、说明 迭代器模式是一种行为设计模式#xff0c;让你能在不暴露集合底层表现形式#xff08;列表、栈和树等#xff09;的情况下遍历集合中所有的元素。 (一) 解决问题 遍历聚合对象中的元素#xff0c;而不需要暴露该对象的内部表示 (二) 使用场景 需要对聚合对象… 一、说明 迭代器模式是一种行为设计模式让你能在不暴露集合底层表现形式列表、栈和树等的情况下遍历集合中所有的元素。 (一) 解决问题 遍历聚合对象中的元素而不需要暴露该对象的内部表示 (二) 使用场景 需要对聚合对象中元素进行遍历并且不想暴露其内部结构减少程序中重复的遍历代码时能够遍历不同的甚至是无法预知的数据结构时 二、结构 迭代器Iterator接口声明了遍历集合所需的操作获取下一个元素、获取当前位置和重新开始迭代等。具体迭代器ConcreteIterators实现遍历集合的一种特定算法。迭代器对象必须跟踪自身遍历的进度。这使得多个迭代器可以相互独立地遍历同一集合。集合Collection接口声明一个或多个方法来获取与集合兼容的迭代器。请注意返回方法的类型必须被声明为迭代器接口因此具体集合可以返回各种不同种类的迭代器。具体集合ConcreteCollections会在客户端请求迭代器时返回一个特定的具体迭代器类实体。你可能会琢磨剩下的集合代码在什么地方呢不用担心它也会在同一个类中。只是这些细节对于实际模式来说并不重要所以我们将其省略了而已。客户端Client通过集合和迭代器的接口与两者进行交互。这样一来客户端无需与具体类进行耦合允许同一客户端代码使用各种不同的集合和迭代器。客户端通常不会自行创建迭代器而是会从集合中获取。但在特定情况下客户端可以直接创建一个迭代器例如当客户端需要自定义特殊迭代器时。 三、伪代码 #!/usr/bin/env python # -*- coding: UTF-8 -*- __doc__ 迭代器模式例迭代树结构对象 from collections.abc import Iterable, Iteratorclass TreeNode:树节点类def __init__(self, value):self.value valueself.children []def add_child(self, child):self.children.append(child)def __str__(self, level0):indent * levelresult f{indent}{self.value}\nfor child in self.children:result child.__str__(level 4)return resultclass Tree(Iterable):聚合对象def __init__(self, root):self.root rootdef __iter__(self) - Iterator:return TreeIterator(self.root)class TreeIterator(Iterator):迭代器def __init__(self, node):self.stack [node]def __next__(self):if not self.stack:raise StopIterationnode self.stack.pop()self.stack.extend(reversed(node.children))return node.valueif __name__ __main__:ABDECF# 构建树形结构root TreeNode(A)b TreeNode(B)c TreeNode(C)d TreeNode(D)e TreeNode(E)f TreeNode(F)root.add_child(b)root.add_child(c)b.add_child(d)b.add_child(e)c.add_child(f)# 遍历树形结构tree Tree(root)for value in tree:print(value)四、优缺点 优点 简化了聚合对象的接口迭代器模式将遍历集合元素的责任分离出来使得聚合对象和迭代器对象的职责更加清晰聚合对象只需提供迭代器而无需关注遍历逻辑。隐藏了集合的内部结构迭代器模式封装了集合的内部实现细节使得客户端可以透明地访问集合元素而不必关心集合的具体实现方式。 缺点 不适合过于简单的集合对于结构简单、元素数量少的集合不如直接遍历集合来得简单直接。 【Python笔记】设计模式-CSDN博客
http://www.pierceye.com/news/517396/

相关文章:

  • 青海市住房和城乡建设厅网站关于网站建设的合同协议书
  • 中文企业网站模板下载wordpress付费知识
  • 网站设计图能用ps做么襄城县住房和城市建设局网站
  • 汕头市网站建设分站服务机构建设网站费用会计分录
  • 360网站推广wordpress 插件 定时
  • 企业设计网站公司易语言可以做网站嘛
  • 乐昌网站建设wordpress 自动推送
  • 建立自我追求无我什么意思广州网站优化推广
  • 公司介绍网站怎么做的苏州网页制作招聘
  • 天长网站建设黄骅市长
  • 深圳网站维护页面设计WordPress在线留言插件
  • 网站改版的几个建议夜夜夜在线观看
  • 网站开发和 app开发的区别百度推广管家
  • 门窗网站制作宣传语建设一个商城式网站可以吗
  • 网站优化推广公司北京软件开发公司滕迎江
  • 网站建立的连接不安全怎么解决网站如何做数据库
  • 营销型制作网站公司重庆蒲公英网站建设公司
  • 官方网站找工作公众号中国航发网上采购平台
  • 大连网站制作仟亿科技个人网站建站步骤
  • 网站php文件上传成都网站搜索排名优化哪家好
  • 南京做网站费用做网站的服务器配置
  • 外贸用什么平台自建站较好门户网站盈利
  • 外包兼职做图的网站做视频网站用哪个模板
  • 全球购物网站大全百度网盟推广官方网站
  • 计算机网站维护建设深圳外网站建设
  • 贵州公明建设投资咨询有限公司官方网站小说网站开发对影成三人小说
  • 软件分享网站不一样的婚恋网站怎么做
  • 如何维护给做网站的客户公司变更名称和经营范围
  • 网站建设维护php建站最好的公司排名
  • 济南1951年建站wordpress 描述