热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python迭代模式实例详解

本文主要和大家分享Python迭代模式实例详解,主要以代码的形式和大家分享,希望能帮助到大家。1234567891011121314151617181920212223242526

本文摘自php中文网,作者小云云,侵删。

本文主要和大家分享Python迭代模式实例详解,主要以代码的形式和大家分享,希望能帮助到大家。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

# -*- coding: utf-8 -*-

"""

Created on Thu Mar 29 11:43:05 2018

 

@author: mz

"""

 

class Iterator(object):

    def Next(self):

        pass

    def HasNext(self):

        pass

    def First(self):

        pass

     

    def Forward(self):

        pass

 

class CocreteIterator(Iterator):

    def __init__(self, aggregate):

        self._aggregate = aggregate

     

    def Next(self):

        return self._aggregate.Next()

     

    def HasNext(self):

        return self._aggregate.HasNext()

     

    def First(self):

        return self._aggregate.First()

     

    def Forward(self):

        return self._aggregate.Forward()

     

 

class Aggregate(object):

    def CreateIterator(self):

        pass

 

    def Next(self):

        pass

     

    def HasNext(self):

        pass

     

    def First(self):

        pass

     

    def Attach(self, obj):

        pass

         

    def Forward(self):

        pass

  

     

class ConcreteAggregate(object):

     

    def __init__(self):

        self._lst = []

        self._index = 0

     

    def CreateIterator(self):

        return CocreteIterator(self)

     

    def Next(self):

        return self._lst[self._index]

     

    def HasNext(self):

        return self._index

     

    def First(self):

        self._index = 0

        return self._lst[0]

     

    def Attach(self, obj):

        self._lst.append(obj)

         

    def Forward(self):

        self._index += 1

         

     

 

if "__main__" == __name__:

    aggregate = ConcreteAggregate()

     

    aggregate.Attach(1)

    aggregate.Attach("2")

    aggregate.Attach("a")

    aggregate.Attach("b")

    aggregate.Attach("c")

    aggregate.Attach("45")

     

    it = aggregate.CreateIterator()

     

    while it.HasNext():

        print(it.Next())

        it.Forward()

运行结果:

1
2
a
b
c
45

以上就是Python迭代模式实例详解的详细内容,更多文章请关注编程笔记!!


推荐阅读
  • 本文将详细介绍Python中*args和**kwargs的用法,包括它们的基本概念、应用场景以及注意事项。 ... [详细]
  • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • Python中判断一个集合是否为另一集合子集的两种高效方法及其应用场景分析 ... [详细]
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • [c++基础]STL
    cppfig15_10.cppincludeincludeusingnamespacestd;templatevoidprintVector(constvector&integer ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,然后将爬取的信息写入Exce ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 本文详细介绍了如何在 Django 项目中使用 Admin 管理后台,包括创建超级用户、启动项目、管理数据模型和修改用户密码等步骤。 ... [详细]
  • ARM汇编基础基于Keil创建STM32汇编程序的编写
    文章目录一、新建项目(1)工具介绍(2)创建项目:二、配置环境(1)配置芯片&#x ... [详细]
  • 本文介绍了如何使用Python的Paramiko库批量更新多台服务器的登录密码。通过示例代码展示了具体实现方法,确保了操作的高效性和安全性。Paramiko库提供了强大的SSH2协议支持,使得远程服务器管理变得更加便捷。此外,文章还详细说明了代码的各个部分,帮助读者更好地理解和应用这一技术。 ... [详细]
author-avatar
--驭风--
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有