[컴][파이썬] python class 를 iterable 하게 만들기


iterator / yield /



내 class 가 iterable 한 상황에 사용되게 할 때 특정 field 를 iterable 하게 하는 코드이다.

#--------------------------------------------------------------------------------
class RawChartData(object) :
    RANK = 0
    TITLE = 1
    ARTIST = 2
    ALBUM = 3
    THUMB = 4
    
    
    def __init__(self):
        
        self.data = [None] * 5


    def __iter__(self):
        i = 0
        logger.debug(self.data)
        while i < len(self.data):
          yield self.data[i]
          i+=1



See Also


  1. yield


References

  1. http://stackoverflow.com/questions/19151/build-a-basic-python-iterator
  2. http://pyengine.blogspot.kr/2010/12/python-yield.html
  3. http://stackoverflow.com/questions/231767/the-python-yield-keyword-explained

댓글 없음:

댓글 쓰기