Notice
Recent Posts
Recent Comments
«   2024/10   »
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
10-11 00:15
Archives
Today
Total
관리 메뉴

Developer_Neo

[python] __iter__( ), __next__( ) 본문

프로그래밍/Python

[python] __iter__( ), __next__( )

_Neo_ 2022. 1. 17. 11:33
반응형

iterable 객체

- for문과 함께 사용하여 각 데이터를 하나씩 처리할 수 있도록 하는 객체

- 우리가 클래스를 만들때 특정 메소드를 추가 하면코드 상에서 iterable객체로 만들 수 있다.

 

 

__iter__( ), __next__( ) 함수 2개다 작성해야한다.

class collection:

	def __init__(self, size):
		self.size = size
		self.data = list(range(size))
	def __iter__(self):
		self.index = 0
		return self
	def __next__(self):
		if self.index >= self.size:
			raise StopIteration # try return
		n = self.data[self.index]
		self.index += 1;
		return n

obj = collection(5)
for i in obj
	print( i )


'''
결과
0
1
2
3
4
'''
반응형
Comments