0Pricing
Learn AI with Python · บทเรียน

ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้

สำรวจโพรโทคอลตัววนซ้ำเพื่อสร้างพฤติกรรมการวนซ้ำแบบกำหนดเอง

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

บทนำเกี่ยวกับตัววนซ้ำและสิ่งที่วนซ้ำได้

บทนำเกี่ยวกับตัววนซ้ำและสิ่งที่วนซ้ำได้

ตัววนซ้ำและสิ่งที่วนซ้ำได้เป็นแนวคิดพื้นฐานใน Python ที่ช่วยให้คุณทำงานกับลำดับข้อมูลได้ ทั้งยังเป็นรากฐานของลูป การสร้างแบบย่อ และตัวสร้าง

ในบทเรียนนี้ คุณจะได้เรียนรู้ว่าตัววนซ้ำและสิ่งที่วนซ้ำได้ทำงานอย่างไร รวมถึงวิธีสร้างตัววนซ้ำของคุณเอง

ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้ — ภาพประกอบ 1

สิ่งที่วนซ้ำได้คืออะไร

สิ่งที่วนซ้ำได้คืออะไร

สิ่งที่วนซ้ำได้คืออ็อบเจ็กต์ใด ๆ ใน 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() อ็อบเจ็กต์ที่วนซ้ำได้จะกลายเป็นตัววนซ้ำเมื่อส่งให้ฟังก์ชัน 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

การใช้ฟังก์ชัน iter()

การใช้ฟังก์ชัน iter()

ฟังก์ชัน iter() จะส่งคืนอ็อบเจ็กต์ตัววนซ้ำจากอ็อบเจ็กต์ที่วนซ้ำได้:

# Using iter() on a list
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator))  # Outputs: 1

การจัดการ StopIteration

การจัดการ StopIteration

เมื่อตัววนซ้ำไม่มีข้อมูลเหลือแล้ว ตัววนซ้ำจะทำให้เกิดข้อยกเว้น StopIteration ซึ่งเป็นวิธีที่ไพธอนใช้บ่งบอกจุดสิ้นสุดของลำดับ

# 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
  • วิธีที่เจเนอเรเตอร์ช่วยให้การสร้างตัววนซ้ำง่ายขึ้น

ทำได้ดีมากครับ ต่อไปเราไปเรียนหัวข้อถัดไปกัน

ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้ — ภาพประกอบ 11

คำถามที่พบบ่อย

บทเรียน “ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 5 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้”

สำรวจโพรโทคอลตัววนซ้ำเพื่อสร้างพฤติกรรมการวนซ้ำแบบกำหนดเอง คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 5 จากทั้งหมด 5 บทเรียน

บทเรียน “ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม

ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. มัณฑนากร
  2. ตัวสร้าง
  3. ตัวจัดการบริบท (คำสั่ง with)
  4. นิพจน์ย่อ (List, Set และ Dictionary)
  5. ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้
← กลับไปที่ Learn AI with Python