Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Beispiele für den Python-Iterationsmodus

Detaillierte Erläuterung der Beispiele für den Python-Iterationsmodus

小云云
小云云Original
2018-03-30 16:50:191454Durchsuche

In diesem Artikel werden hauptsächlich detaillierte Beispiele des Python-Iterationsmodus, hauptsächlich in Form von Code, mit Ihnen geteilt, in der Hoffnung, allen zu helfen.

# -*- 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 < len(self._lst)
    
    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()

Laufergebnis:

1
2
a
b
c
45

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Beispiele für den Python-Iterationsmodus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn