ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้
สำรวจโพรโทคอลตัววนซ้ำเพื่อสร้างพฤติกรรมการวนซ้ำแบบกำหนดเอง
ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้ เป็นบทเรียน Python For Kids ฟรีบน CoddyKit นี่คือบทเรียนที่ 5 จากทั้งหมด 5 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python For Kids และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python For Kids มีบทเรียนทั้งหมด 5 บทเรียน
บทนำสู่ iterator และ iterable
iterator และ iterable เป็นแนวคิดพื้นฐานใน Python ที่ช่วยให้คุณทำงานกับลำดับข้อมูลได้ ทั้งสองอย่างเป็นพื้นฐานของลูป การสร้างแบบกระชับ และ generator
ในบทเรียนนี้ คุณจะได้เรียนรู้ว่า iterator และ iterable ทำงานอย่างไร และวิธีสร้าง iterator ของคุณเอง

iterable คืออะไร
iterable คือออบเจ็กต์ใด ๆ ใน Python ที่สามารถวนซ้ำได้โดยใช้ลูป for ตัวอย่างเช่น ลิสต์ ทูเพิล เซต และพจนานุกรม
# Example of an iterable
my_list = [1, 2, 3]
for item in my_list:
print(item) # Outputs: 1, 2, 3Iterator คืออะไร
ตัววนซ้ำคือออบเจ็กต์ที่แทนกระแสข้อมูล โดยใช้งานเมธอด __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() ออบเจ็กต์ที่วนซ้ำได้จะกลายเป็นตัววนซ้ำเมื่อส่งไปยังฟังก์ชัน iter()
การสร้าง Iterator แบบกำหนดเอง
คุณสามารถสร้างตัววนซ้ำแบบกำหนดเองได้ด้วยการกำหนดคลาสที่มีเมธอด __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การใช้ฟังก์ชัน iter()
ฟังก์ชัน iter() ส่งคืนออบเจ็กต์ตัววนซ้ำจากออบเจ็กต์ที่วนซ้ำได้:
# Using iter() on a list
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator)) # Outputs: 1การจัดการ StopIteration
เมื่อตัววนซ้ำทำงานจนหมด จะยกข้อผิดพลาด StopIteration ซึ่งเป็นวิธีที่ Python ใช้ส่งสัญญาณว่าลำดับสิ้นสุดลงแล้ว
# Handling StopIteration
my_list = [1, 2, 3]
iterator = iter(my_list)
while True:
try:
print(next(iterator))
except StopIteration:
breakIterator เทียบกับ Generator
Generator เป็นวิธีที่ง่ายกว่าในการสร้างตัววนซ้ำ โดยจะใช้งานเมธอด __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 - วิธีที่ตัวสร้างช่วยให้การสร้างตัววนซ้ำง่ายขึ้น
ทำได้ดีมาก ต่อไปเราไปยังหัวข้อถัดไปกัน

คำถามที่พบบ่อย
บทเรียน “ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python For Kids ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python For Kids มีบทเรียนทั้งหมด 5 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้”
สำรวจโพรโทคอลตัววนซ้ำเพื่อสร้างพฤติกรรมการวนซ้ำแบบกำหนดเอง คุณปฏิบัติ Python For Kids ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python For Kids หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python For Kids บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 5 จากทั้งหมด 5 บทเรียน
บทเรียน “ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Python For Kids นี้ได้ไหม
ได้ บทเรียน Python For Kids ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- มัณฑนากร
- ตัวสร้าง
- ตัวจัดการบริบท (คำสั่ง with)
- นิพจน์ย่อ (List, Set และ Dictionary)
- ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้