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

ตัวสร้าง

ทำความเข้าใจตัวสร้างและการใช้ตัวสร้างเพื่อสร้างตัววนซ้ำ

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

บทนำสู่ตัวสร้างข้อมูล

บทนำสู่ตัวสร้างข้อมูล

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

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

ตัวสร้าง — ภาพประกอบ 1

ตัวสร้างคืออะไร

ตัวสร้างคืออะไร

ตัวสร้างคือฟังก์ชันที่ใช้คีย์เวิร์ด yield เพื่อส่งคืนค่าทีละค่า การเรียกใช้เมธอด next() ของตัวสร้างแต่ละครั้งจะทำให้การทำงานดำเนินต่อจากจุดที่ตัวสร้างส่งคืนค่าครั้งล่าสุด

# Basic generator example
def my_generator():
    yield 1
    yield 2
    yield 3

# Using the generator
gen = my_generator()
print(next(gen))  # Outputs: 1
print(next(gen))  # Outputs: 2
print(next(gen))  # Outputs: 3

ตัวสร้างข้อมูลทำงานอย่างไร

ตัวสร้างข้อมูลทำงานอย่างไร

ตัวสร้างข้อมูลจะบันทึกสถานะของฟังก์ชันไว้ จึงสามารถกลับมาทำงานต่อจากจุดที่หยุดไว้ได้อย่างแม่นยำ ทำให้ประหยัดหน่วยความจำและเหมาะสำหรับชุดข้อมูลขนาดใหญ่

# Example: Generating a range of numbers
def range_generator(start, end):
    while start < end:
        yield start
        start += 1

for number in range_generator(1, 5):
    print(number)  # Outputs: 1, 2, 3, 4

นิพจน์ตัวสร้าง

นิพจน์ตัวสร้าง

นิพจน์ตัวสร้างมีลักษณะคล้ายกับการสร้างรายการแบบกระชับ แต่ใช้วงเล็บแทนวงเล็บเหลี่ยม นิพจน์เหล่านี้สร้างตัวสร้างแทนที่จะสร้างรายการ

# Generator expression
gen_exp = (x * x for x in range(5))

for value in gen_exp:
    print(value)  # Outputs: 0, 1, 4, 9, 16

ตัวสร้างข้อมูลเทียบกับรายการ

ตัวสร้างข้อมูลเทียบกับรายการ

ตัวสร้างข้อมูลประหยัดหน่วยความจำมากกว่ารายการ เนื่องจากไม่ได้เก็บข้อมูลทั้งหมดไว้ในหน่วยความจำ แต่จะสร้างข้อมูลขึ้นตามต้องการ

# Comparing lists and generators
# List comprehension
list_comp = [x * x for x in range(1000000)]

# Generator expression
gen_exp = (x * x for x in range(1000000))

# List comprehension uses more memory
print(type(list_comp))  # Outputs: <class 'list'>
print(type(gen_exp))    # Outputs: <class 'generator'>

กรณีการใช้งานตัวสร้างข้อมูล

กรณีการใช้งานตัวสร้างข้อมูล

ตัวสร้างข้อมูลเหมาะสำหรับ:

  • ประมวลผลชุดข้อมูลขนาดใหญ่ที่ไม่สามารถเก็บไว้ในหน่วยความจำได้
  • สร้างลำดับอนันต์
  • ประเมินข้อมูลเมื่อจำเป็น

ตัวสร้างข้อมูลแบบอนันต์

ตัวสร้างข้อมูลแบบอนันต์

ตัวสร้างข้อมูลสามารถสร้างลำดับอนันต์ได้ เช่น ลำดับตัวเลขที่ไม่มีที่สิ้นสุด ตรวจสอบให้แน่ใจว่าได้หยุดลูปเพื่อป้องกันการทำงานแบบไม่สิ้นสุด

# Infinite generator example
def infinite_sequence():
    num = 0
    while True:
        yield num
        num += 1

# Using the infinite generator
for i in infinite_sequence():
    if i > 5:
        break
    print(i)  # Outputs: 0, 1, 2, 3, 4, 5

ฟังก์ชันตัวสร้างข้อมูลที่มีการคืนค่าหลายครั้ง

ฟังก์ชันตัวสร้างข้อมูลที่มีการคืนค่าหลายครั้ง

ฟังก์ชันตัวสร้างข้อมูลสามารถมีคำสั่ง yield ได้หลายคำสั่ง ทำให้คุณสร้างลำดับที่ซับซ้อนได้:

# Multiple yields in a generator
def multi_yield():
    yield "First"
    yield "Second"
    yield "Third"

for value in multi_yield():
    print(value)  # Outputs: First, Second, Third

ข้อผิดพลาดที่พบบ่อยเกี่ยวกับตัวสร้างข้อมูล

ข้อผิดพลาดที่พบบ่อยเกี่ยวกับตัวสร้างข้อมูล

ต่อไปนี้คือข้อผิดพลาดบางประการที่ควรหลีกเลี่ยง:

  • ใช้ return แทน yield ในฟังก์ชันตัวสร้างข้อมูล
  • ไม่ดึงข้อมูลจากตัวสร้างข้อมูลด้วยลูปหรือ next()
  • ใช้ตัวสร้างข้อมูลกับชุดข้อมูลขนาดเล็ก ทั้งที่รายการเหมาะสมกว่า

เราได้เรียนรู้อะไรบ้าง

เราได้เรียนรู้อะไรบ้าง

ในบทเรียนนี้ คุณได้เรียนรู้:

  • ตัวสร้างคืออะไรและทำงานอย่างไรใน Python
  • วิธีใช้ yield เพื่อสร้างฟังก์ชันตัวสร้าง
  • ความแตกต่างระหว่างตัวสร้างกับลิสต์
  • กรณีการใช้งานตัวสร้าง เช่น ลำดับที่ไม่สิ้นสุดและชุดข้อมูลขนาดใหญ่

ทำได้ดีมาก! ไปต่อที่หัวข้อถัดไปกัน

ตัวสร้าง — ภาพประกอบ 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 ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 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