可迭代的物件是什麼意思

在程式設計中,特別是在Python等支援疊代器模式的程式語言中,可疊代的物件(Iterable)是指那些可以通過一個稱為「疊代器」的過程來產生一系列其他物件或值的物件。換句話說,可疊代的物件是可以被遍歷(iterated over)的,例如使用for迴圈。

Python中的許多內建類型都是可疊代的,例如列表(list)、元組(tuple)、字典(dictionary)、集合(set)和字元串(string)。這些物件都可以用於for迴圈,因為它們支持疊代。

例如,以下Python代碼展示了如何使用for迴圈來疊代一個列表和一個字元串:

# 疊代一個列表
my_list = [1, 2, 3, 4, 5]
for element in my_list:
    print(element)

# 疊代一個字元串
my_string = "Hello World"
for character in my_string:
    print(character)

在Python中,一個物件要成為可疊代的,它必須實現__iter__()方法。這個方法返回一個疊代器物件,該疊代器物件支持__next__()方法。當__next__()方法被調用時,它會返回序列中的下一個元素。如果序列中沒有更多的元素,__next__()方法應該拋出StopIteration異常。

疊代器模式是一個設計模式,它允許程式設計師以一種一致的方式來遍歷任何類型的序列,而無需事先知道序列的結構。這使得程式碼更加模組化和可重用。