イテレーターとイテラブル
独自の反復動作を作成するためのイテレータープロトコルについて学びます。
「イテレーターとイテラブル」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン5/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全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, 5<code>iter()</code>関数の使用
iter()関数の使用
iter()関数は、イテラブルからイテレーターオブジェクトを返します:
# Using iter() on a list
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator)) # Outputs: 1<code>StopIteration</code>の処理
StopIterationの処理
イテレーターの処理が終了すると、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 Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全5レッスンが含まれています。
「イテレーターとイテラブル」で何を学びますか?
独自の反復動作を作成するためのイテレータープロトコルについて学びます。 ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Python Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン5/5です。
「イテレーターとイテラブル」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPython Academyレッスンでコードを書いて実行できますか?
はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- デコレーター
- ジェネレーター
- コンテキストマネージャー(with文)
- 内包表記(リスト、集合、辞書)
- イテレーターとイテラブル