[파이썬] iterable 객체와 순회

파이썬은 매우 강력한 프로그래밍 언어로, 다양한 데이터 구조와 기능을 제공합니다. iterable(반복 가능한) 객체와 순회(iteration)는 파이썬에서 매우 중요한 개념입니다. 이번 글에서는 iterable 객체와 순회에 대해 자세히 알아보겠습니다.

Iterable 객체란?

Iterable 객체는 반복 가능한 객체를 의미합니다. 즉, 요소를 하나씩 가져올 수 있는 객체를 말합니다. 이 객체는 for문과 함께 사용될 수 있습니다.

파이썬에서는 다양한 iterable 객체가 제공됩니다. 예를 들어, 리스트(list), 튜플(tuple), 문자열(string), 딕셔너리(dictionary), 집합(set) 등이 iterable 객체의 예시입니다.

순회란?

순회는 iterable 객체의 모든 요소들을 차례대로 처리하는 것을 말합니다. for문을 사용하여 iterable 객체 내의 모든 요소에 접근할 수 있습니다. 일반적으로 for문은 다음과 같은 형식을 갖습니다.

for element in iterable:
    # element에 대한 작업 수행

순회를 통해 iterable 객체의 요소를 하나씩 처리하며, 필요한 작업을 수행할 수 있습니다.

예제 코드

다음은 iterable 객체와 순회에 대한 예제 코드입니다. 리스트를 생성하고, for문을 이용하여 리스트의 요소들을 순회하며 출력합니다.

fruits = ["apple", "banana", "orange"]

for fruit in fruits:
    print(fruit)

위 코드의 결과는 다음과 같습니다.

apple
banana
orange

위 예제에서는 리스트인 fruits가 iterable 객체로 사용되었습니다. for문을 통해 리스트 내의 요소들을 순회하고, 각 요소에 대해 print 함수를 호출하여 화면에 출력하였습니다.

직접 순회 가능한 객체 만들기

파이썬에서는 사용자가 직접 iterable 객체를 만들 수도 있습니다. 이때는 __iter__()__next__() 메서드를 구현해야 합니다. __iter__()는 iterator 객체를 반환하고, __next__()는 다음 요소를 반환합니다.

다음은 숫자의 제곱 값을 반환하는 iterable 객체를 만드는 예제입니다.

class Squares:
    def __init__(self, n):
        self.n = n
        self.i = 0

    def __iter__(self):
        return self

    def __next__(self):
        if self.i >= self.n:
            raise StopIteration
        result = self.i ** 2
        self.i += 1
        return result

squares = Squares(5)

for square in squares:
    print(square)

위 코드의 결과는 다음과 같습니다.

0
1
4
9
16

위 예제에서는 Squares 클래스에서 __iter__()__next__() 메서드를 구현하여 iterable 객체를 만들었습니다. for문을 사용하여 객체 내의 요소들을 순회하고, 각 요소를 출력하였습니다.

마무리

이번 글에서는 iterable 객체와 순회에 대하여 알아보았습니다. 파이썬에서는 다양한 iterable 객체를 사용하여 반복 작업을 수행할 수 있습니다. 또한, 사용자가 직접 iterable 객체를 만들 수도 있습니다. iterable 객체와 순회에 대한 이해는 파이썬 프로그래밍에서 매우 중요한 개념입니다.