イテレータとイテラブル
独自の反復動作を作成するためのイテレータプロトコルを学びます。
「イテレータとイテラブル」はCoddyKit上の無料Python For Kidsレッスンです。 これはレッスン5/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython For Kids学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python For Kidsコースには全5レッスンが含まれています。
イテレーターとイテラブル入門
イテレーターとイテラブルは、Pythonでデータのシーケンスを扱うための基本概念です。ループ、内包表記、ジェネレーターの基盤となります。
このレッスンでは、イテレーターとイテラブルの仕組み、および独自のイテレーターを作成する方法を学びます。

イテラブルとは
イテラブルとは、Pythonでforループを使って反復処理できるオブジェクトです。リスト、タプル、集合、辞書などがその例です。
# Example of an iterable
my_list = [1, 2, 3]
for item in my_list:
print(item) # Outputs: 1, 2, 3イテレーターとは
イテレーターは、データのストリームを表すオブジェクトです。__iter__()メソッドと__next__()メソッドを実装します。
# Example of an iterator
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator)) # Outputs: 1
print(next(iterator)) # Outputs: 2
print(next(iterator)) # Outputs: 3イテラブルとイテレーターの違い
イテラブルはループで反復処理できます(例: リスト)。一方、イテレーターはnext()メソッドを使って項目を1つずつ生成します。イテラブルをiter()関数に渡すと、イテレーターになります。
カスタムイテレーターの作成
__iter__()メソッドと__next__()メソッドを持つクラスを定義すると、カスタムイテレーターを作成できます。
# Custom iterator example
class Counter:
def __init__(self, start, end):
self.current = start
self.end = end
def __iter__(self):
return self
def __next__(self):
if self.current > self.end:
raise StopIteration
self.current += 1
return self.current - 1
counter = Counter(1, 5)
for number in counter:
print(number) # Outputs: 1, 2, 3, 4, 5iter()関数を使う
iter()関数は、イテラブルからイテレーターオブジェクトを返します。
# Using iter() on a list
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator)) # Outputs: 1StopIterationの処理
イテレーターの要素をすべて処理し終えると、StopIteration例外が発生します。これは、シーケンスの終了をPythonが通知する方法です。
# Handling StopIteration
my_list = [1, 2, 3]
iterator = iter(my_list)
while True:
try:
print(next(iterator))
except StopIteration:
breakイテレーターとジェネレーターの比較
ジェネレーターは、イテレーターを作成するためのより簡単な方法です。__iter__()メソッドと__next__()メソッドが自動的に実装されます。
# Example of a generator as an iterator
def my_generator():
yield 1
yield 2
yield 3
for value in my_generator():
print(value) # Outputs: 1, 2, 3イテレーターでよくある間違い
次のような間違いを避けましょう。
- カスタムイテレーターで
__iter__()と__next__()の実装を忘れる。 StopIteration例外を適切に処理しない。- イテレーターとイテラブルを混同する。
何を学びましたか
このレッスンでは、次の内容を学びました。
- イテラブルとイテレーターの違い。
__iter__()と__next__()を使ってカスタムイテレーターを作成する方法。iter()関数の使い方とStopIteration例外の処理方法。- ジェネレーターによってイテレーターの作成がどのように簡単になるか。
よくできました。次のトピックに進みましょう。

よくある質問
「イテレータとイテラブル」レッスンは無料ですか?
はい。「イテレータとイテラブル」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python For Kidsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python For Kidsコースには全5レッスンが含まれています。
「イテレータとイテラブル」で何を学びますか?
独自の反復動作を作成するためのイテレータプロトコルを学びます。 ブラウザで直接実行するハンズオンコードでPython For Kidsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Python For Kidsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPython For Kidsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン5/5です。
「イテレータとイテラブル」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPython For Kidsレッスンでコードを書いて実行できますか?
はい。すべてのPython For Kidsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。