目次
1. บทนำ
Python เป็นภาษาโปรแกรมอเนกประสงค์ที่รองรับการใช้งานได้หลากหลาย โดยเฉพาะการวนลูปถูกใช้งานบ่อยในแทบทุกโปรแกรม การใช้การวนลูปช่วยให้สามารถทำงานบางอย่างซ้ำได้ และเป็นองค์ประกอบที่ขาดไม่ได้ในการเพิ่มประสิทธิภาพของโปรแกรม ใน Python มีโครงสร้างลูปอย่าง “while” และ “for” โดยลูปไม่สิ้นสุดก็มีประโยชน์ในบางสถานการณ์ ลูปไม่สิ้นสุดคืออะไร? ลูปไม่สิ้นสุดหมายถึงลูปที่ไม่มีเงื่อนไขสิ้นสุด หรือถูกออกแบบให้การทำซ้ำไม่จบสิ้น ลูปลักษณะนี้ใช้ในกรณี เช่น เซิร์ฟเวอร์ที่ต้องทำงานตลอดเวลาเพื่อรอรับคำขอเฉพาะ เป็นต้น แม้จะมีการใช้ลูปไม่สิ้นสุดโดยตั้งใจ แต่ก็อาจเผลอตกไปอยู่ในลูปไม่สิ้นสุดได้เช่นกัน ดังนั้น การเข้าใจวิธีใช้ที่ถูกต้องและวิธีการยุติจึงเป็นสิ่งสำคัญ ความเป็นประโยชน์และความเสี่ยงของลูปไม่สิ้นสุด ลูปไม่สิ้นสุดมีประโยชน์อย่างมากในกรณีที่ต้องให้โปรแกรมทำงานต่อเนื่องจนกว่าเงื่อนไขบางอย่างจะเป็นจริง เช่น การเก็บข้อมูลแบบเรียลไทม์หรือกระบวนการที่ต้องคอยรอ โดยที่โปรแกรมไม่ควรหยุดทำงาน แต่หากใช้ลูปไม่สิ้นสุดอย่างไม่เหมาะสม โปรแกรมอาจไม่สามารถสิ้นสุดการทำงานได้ตามปกติ และเสี่ยงต่อการใช้ทรัพยากรของระบบจนหมด ดังนั้น เมื่อใช้ลูปไม่สิ้นสุด ควรกำหนดเงื่อนไขสิ้นสุดหรือการหยุดชั่วคราวให้เหมาะสม และหาวิธีลดภาระต่อระบบให้น้อยที่สุด บทความนี้จะอธิบายอย่างละเอียดถึงวิธีต่างๆ ในการสร้างลูปไม่สิ้นสุดใน Python และประเด็นที่ควรระวัง นอกจากนี้ยังแนะนำวิธียุติลูปอย่างปลอดภัยพร้อมตัวอย่างโค้ดจริง เพื่อให้เป็นประโยชน์ต่อทั้งผู้เริ่มต้นไปจนถึงผู้ใช้ระดับสูง2. วิธีพื้นฐานในการสร้างลูปไม่รู้จบใน Python
มีหลายวิธีพื้นฐานในการสร้างลูปไม่รู้จบใน Python โดยทั่วไปนิยมใช้คำสั่ง while หรือ for และยังสามารถใช้โมดูลitertools
และฟังก์ชัน iter
ได้ด้วย ที่นี่จะอธิบายทีละวิธีในการทำลูปไม่รู้จบของแต่ละแบบลูปไม่รู้จบด้วยคำสั่ง while
วิธีที่พื้นฐานที่สุดในการสร้างลูปไม่รู้จบคือการใช้เงื่อนไขwhile True:
คำสั่ง while
จะทำซ้ำตราบเท่าที่เงื่อนไขเป็น True
ดังนั้นเพียงกำหนดเงื่อนไขให้เป็น True
ก็จะทำให้ลูปดำเนินต่อไปอย่างไม่สิ้นสุด โครงสร้างพื้นฐาน:while True:
print("ข้อความนี้จะแสดงขึ้นอย่างไม่สิ้นสุด")
ในโค้ดข้างต้น เนื่องจากเงื่อนไขของคำสั่ง while
เป็น True
ตลอดเวลา ฟังก์ชัน print
จึงถูกเรียกซ้ำอย่างไม่สิ้นสุด ลูปไม่รู้จบลักษณะนี้มีประโยชน์เมื่อโปรแกรมจำเป็นต้องทำงานบางอย่างต่อเนื่อง (เช่น การรอคำขอบนเซิร์ฟเวอร์)ลูปไม่รู้จบด้วยคำสั่ง for และโมดูล itertools
การผสมผสานคำสั่งfor
ของ Python กับโมดูล itertools
ในไลบรารีมาตรฐาน ก็สามารถทำลูปไม่รู้จบได้เช่นกัน ใน itertools
มีฟังก์ชันสำหรับลูปไม่รู้จบ เช่น count()
、cycle()
、repeat()
ที่เตรียมไว้ให้- count(): สร้างลูปที่เพิ่มค่าตัวเลขไปเรื่อยๆ อย่างไม่สิ้นสุด
from itertools import count
for i in count(1):
print(i)
if i >= 10: # เงื่อนไขการสิ้นสุดตามต้องการ
break
- cycle(): ทำซ้ำลำดับที่กำหนด เช่น รายการ (list) วนไปเรื่อยๆ
from itertools import cycle
for item in cycle(['A', 'B', 'C']):
print(item)
# ในตัวอย่างนี้ไม่มีเงื่อนไขสิ้นสุด จึงจะพิมพ์ 'A', 'B', 'C' ซ้ำไปเรื่อยๆ
- repeat(): พิมพ์ค่าหนึ่งค่าเดิมซ้ำอย่างไม่สิ้นสุด
from itertools import repeat
for item in repeat("Python", 5): # สามารถกำหนดจำนวนรอบได้ด้วยอาร์กิวเมนต์ตัวที่ 2
print(item)
ฟังก์ชัน itertools
เหล่านี้สะดวกสำหรับการทำซ้ำลำดับหรือค่าที่กำหนดในสถานการณ์ที่ต้องการลูปไม่รู้จบ อีกทั้งยังเขียนได้กระชับ ทำให้โค้ดอ่านง่ายขึ้นลูปไม่รู้จบด้วยฟังก์ชัน iter
ฟังก์ชันiter()
ของ Python ก็มีประโยชน์ในการสร้างลูปไม่รู้จบที่สามารถสิ้นสุดได้ตามเงื่อนไขที่กำหนด โดยในฟังก์ชัน iter()
ให้ระบุออบเจ็กต์ที่เรียกได้เป็นอาร์กิวเมนต์ตัวที่ 1 และค่าที่ใช้เป็นเงื่อนไขสิ้นสุด (sentinel
) เป็นอาร์กิวเมนต์ตัวที่ 2 เมื่อผลลัพธ์จากการเรียกอาร์กิวเมนต์ตัวที่ 1 เท่ากับ sentinel
ลูปจะสิ้นสุด มิฉะนั้นลูปจะดำเนินต่อไปไม่รู้จบ ตัวอย่าง:def input_func():
return input("กรอกข้อความ (หากต้องการจบให้พิมพ์ 'exit'): ")
for value in iter(input_func, 'exit'):
print(f"อินพุต: {value}")
ในโค้ดข้างต้น ผู้ใช้จะสามารถป้อนสตริงได้เรื่อยๆ จนกว่าจะพิมพ์ exit
วิธีนี้ช่วยให้สร้างลูปไม่รู้จบที่มีเงื่อนไขสิ้นสุดเฉพาะได้อย่างง่ายดาย3. วิธีออกจากลูปไม่รู้จบ
ลูปไม่รู้จบจะทำซ้ำไปเรื่อยๆ จนกว่าเงื่อนไขที่กำหนดจะเป็นจริง แต่หากเกิดลูปไม่รู้จบโดยไม่ตั้งใจขึ้นมา โปรแกรมอาจไม่สามารถจบการทำงานได้ ดังนั้นจึงสำคัญที่จะกำหนดวิธีการสิ้นสุดลูปไม่รู้จบให้เหมาะสมและเตรียมรับมือกับปัญหา ต่อไปนี้คือวิธีทั่วไปในการออกจากลูปไม่รู้จบการสิ้นสุดลูปด้วยคำสั่ง break
เมื่อใช้คำสั่งbreak
ของ Python คุณสามารถยุติลูปได้เมื่อเงื่อนไขที่กำหนดเป็นจริง ภายในลูปไม่รู้จบให้กำหนดเงื่อนไขไว้ และเมื่อเงื่อนไขนั้นเป็นจริงก็สามารถออกจากลูปด้วยคำสั่ง break
ได้ ตัวอย่าง:while True:
user_input = input("กรุณาป้อนอะไรสักอย่าง ('สิ้นสุด' เพื่อหยุดลูป): ")
if user_input == 'สิ้นสุด':
print("สิ้นสุดลูป")
break
print(f"ข้อความที่ป้อน: {user_input}")
ในโค้ดข้างต้น เมื่อผู้ใช้พิมพ์ว่า “สิ้นสุด” จะมีการรันคำสั่ง break
และลูปไม่รู้จบจะสิ้นสุดลง การเตรียมคีย์เวิร์ดหรือเงื่อนไขเฉพาะไว้เช่นนี้ทำให้ผู้ใช้สามารถหยุดลูปได้ตามต้องการการบังคับหยุดด้วย KeyboardInterrupt (Ctrl + C)
เมื่อรันโปรแกรมในสภาพแวดล้อมการพัฒนาหรือเทอร์มินัล หากลูปไม่รู้จบหยุดไม่ได้ คุณสามารถทำให้เกิดข้อยกเว้น KeyboardInterrupt เพื่อบังคับให้โปรแกรมยุติการทำงานได้ ซึ่งทำได้โดยกด “Ctrl + C” (ทั้งบน Mac และ Windows เหมือนกัน)try:
while True:
print("โปรดกด Ctrl + C เพื่อออก")
except KeyboardInterrupt:
print("ได้บังคับยุติโปรแกรมแล้ว")
โค้ดนี้แสดงวิธีการยุติลูปไม่รู้จบโดยการดักจับข้อยกเว้น KeyboardInterrupt
ปกติแล้วจะบังคับหยุดลูปด้วย Ctrl + C
แต่ด้วยการจัดการข้อยกเว้น คุณยังสามารถแสดงข้อความเมื่อมีการบังคับยุติได้ด้วยการยุติกระบวนการด้วย Task Manager หรือ Activity Monitor
หากโปรแกรม Python ไม่ตอบสนองเพราะลูปไม่รู้จบ และไม่สามารถยุติได้ด้วยCtrl + C
คุณสามารถใช้ Task Manager หรือ Activity Monitor ของระบบปฏิบัติการเพื่อบังคับยุติกระบวนการได้- Windows: เปิด Task Manager (
Ctrl + Shift + Esc
) ค้นหาโพรเซส “Python” แล้วคลิก “สิ้นสุดงาน”. - Mac: เปิด Activity Monitor เลือกโพรเซส “Python” แล้วคลิก “ออก”.

4. ข้อควรระวังและตัวอย่างการใช้งานของลูปไม่สิ้นสุด
ลูปแบบไม่สิ้นสุดสามารถทำงานต่อเนื่องได้จนกว่าเงื่อนไขที่กำหนดจะเป็นจริง จึงนำไปใช้ได้ในหลายกรณี อย่างไรก็ตาม การใช้ลูปแบบไม่สิ้นสุดต้องอาศัยการจัดการอย่างระมัดระวัง การทำความเข้าใจคุณลักษณะและความเสี่ยงของลูปประเภทนี้และใช้อย่างเหมาะสมเป็นเรื่องสำคัญข้อควรระวังของลูปไม่สิ้นสุด
- การเกิดลูปไม่สิ้นสุดโดยไม่ตั้งใจ ลูปไม่สิ้นสุดเกิดขึ้นได้ง่ายหากไม่มีเงื่อนไขการสิ้นสุดที่เหมาะสม และอาจสร้างภาระต่อระบบเกินคาด โดยเฉพาะอย่างยิ่งเมื่อกำหนดเงื่อนไขการสิ้นสุดผิดพลาด หรือวางตำแหน่งคำสั่ง
break
ไม่เหมาะสม มีความเสี่ยงที่จะตกอยู่ในลูปไม่สิ้นสุด ดังนั้นจึงควรกำหนดจุดตรวจสอบเป็นระยะๆ ในกระบวนการของลูปไม่สิ้นสุด - การใช้ทรัพยากร CPU หากปล่อยทิ้งไว้ ลูปไม่สิ้นสุดจะใช้ทรัพยากร CPU จำนวนมาก โดยเฉพาะถ้าไม่ใส่เวลาหน่วงให้กับลูปด้วยฟังก์ชันอย่าง
time.sleep()
ในกระบวนการ CPU อาจทุ่มทรัพยากรทั้งหมดไปกับการประมวลผลลูป ทำให้ประสิทธิภาพโดยรวมของระบบลดลงได้ ตัวอย่าง:
import time
while True:
print("กำลังทำงานโดยประหยัดทรัพยากร...")
time.sleep(1) # กำหนดเวลาหน่วง 1 วินาที
ดังนี้ เมื่อใช้time.sleep()
จะทำให้การประมวลผลของลูปไม่สิ้นสุดล่าช้าเล็กน้อยและลดการใช้ CPU จึงช่วยให้จัดการลูปไม่สิ้นสุดได้อย่างมีประสิทธิภาพยิ่งขึ้น- การกำหนดเงื่อนไขการสิ้นสุดที่เหมาะสม หากเงื่อนไขการสิ้นสุดไม่ชัดเจน ลูปอาจดำเนินต่อไปไม่รู้จบ ดังนั้นการวางแผนล่วงหน้าว่าจะยุติลูปในสถานการณ์ใดจึงสำคัญ การใช้ทริกเกอร์ภายนอก เช่น อินพุตหรือสัญญาณ ก็เป็นวิธีหนึ่ง นอกจากนี้ เพื่อกรณีที่เงื่อนไขไม่เป็นไปตามที่คาดไว้ การใช้การจัดการข้อยกเว้นและโครงสร้าง
try-except
ร่วมกันจะช่วยให้โค้ดไม่หยุดทำงานเพราะข้อผิดพลาดที่ไม่คาดคิด
ตัวอย่างการใช้งานลูปไม่สิ้นสุด
- การเก็บรวบรวมข้อมูลแบบเรียลไทม์ ลูปไม่สิ้นสุดเหมาะกับแอปพลิเคชันที่เก็บข้อมูลแบบเรียลไทม์ ตัวอย่างเช่น สคริปต์ที่ใช้ API ของโซเชียลมีเดียเพื่อตรวจสอบโพสต์หรือความคิดเห็นใหม่อยู่เสมอ หรือระบบที่รับข้อมูลจากเซ็นเซอร์ของอุปกรณ์ IoT อย่างต่อเนื่อง ลูปไม่สิ้นสุดจะมีประโยชน์ ตัวอย่าง:
import time
def collect_data():
# เขียนตรรกะการเก็บข้อมูลที่นี่
print("กำลังเก็บรวบรวมข้อมูล...")
while True:
collect_data()
time.sleep(5) # เก็บข้อมูลทุก ๆ 5 วินาที
- การรอรับคำขอของเซิร์ฟเวอร์ ลูปไม่สิ้นสุดถูกใช้เมื่อเซิร์ฟเวอร์ต้องคอยรอและประมวลผลคำขออยู่ตลอดเวลา เช่น ในแชตบอทหรือ HTTP เซิร์ฟเวอร์ จำเป็นต้องรอคำขอจากผู้ใช้และตอบสนองอยู่เสมอ ลูปไม่สิ้นสุดในลักษณะนี้ถูกออกแบบให้โปรแกรมไม่หยุดทำงานเอง แม้ในช่วงที่ไม่มีคำขอจากผู้ใช้
- ลูปหลักของเกม ในการพัฒนาเกม ลูปหลักจะคอยตรวจสอบการวาดภาพและอินพุตอยู่เสมอ ทำให้การเล่นเกมดำเนินไปอย่างราบรื่น ตราบเท่าที่ผู้เล่นยังคงควบคุมอยู่ โปรแกรมจะอัปเดตหน้าจอ ประมวลผลอินพุต และคงสถานะการเล่นไว้ด้วยลูปไม่สิ้นสุด ตัวอย่าง:
running = True
while running:
# ตรวจสอบอินพุตของผู้เล่น
# อัปเดตการเรนเดอร์หน้าจอ
# อัปเดตสถานะของเกม
if some_exit_condition:
running = False
ลูปไม่สิ้นสุดเป็นฟังก์ชันที่มีประโยชน์มากหากใช้อย่างถูกต้อง แต่ต้องคำนึงถึงการใช้ทรัพยากรและความเสี่ยงของการสิ้นสุดโดยไม่ตั้งใจ เพื่อให้การวนลูปมีประสิทธิภาพพร้อมลดภาระของระบบ ควรปรับใช้เวลาหน่วง กำหนดเงื่อนไขการสิ้นสุด และใช้ทริกเกอร์ภายนอก เป็นต้น5. ตัวอย่างโค้ดเชิงปฏิบัติ
ที่นี่เราจะแนะนำตัวอย่างโค้ดที่เป็นรูปธรรมบางส่วนสำหรับการใช้งานลูปไม่รู้จบใน Python ตั้งแต่พื้นฐานของลูปไม่รู้จบ วิธีหยุดตามเงื่อนไขเฉพาะ ไปจนถึงการนำไปใช้เป็นกรณีประยุกต์ มาเรียนรู้แบบเป็นขั้นเป็นตอนกันลูปไม่รู้จบพื้นฐาน
วิธีที่ง่ายที่สุดในการทำลูปไม่รู้จบใน Python คือการใช้while True
เนื่องจาก True
เป็นจริงเสมอ ลูปจึงจะทำซ้ำต่อไปตราบใดที่ไม่มีเงื่อนไขการสิ้นสุด ตัวอย่าง: ไวยากรณ์พื้นฐานของลูปไม่รู้จบwhile True:
print("จะแสดงผลไม่สิ้นสุด")
ในโค้ดนี้ ฟังก์ชัน print()
จะถูกเรียกซ้ำไม่รู้จบ ทำให้โปรแกรมไม่สิ้นสุด ลูปไม่รู้จบลักษณะนี้ หากไม่กำหนดเงื่อนไขการสิ้นสุดเฉพาะไว้ตามที่จะกล่าวต่อไป อาจก่อให้เกิดภาระต่อระบบโดยไม่ตั้งใจ จึงควรใช้อย่างระมัดระวังลูปไม่รู้จบที่สามารถหยุดได้ตามเงื่อนไข
ภายในลูปไม่รู้จบ หากใช้คำสั่งbreak
จะสามารถยุติลูปเมื่อเงื่อนไขที่กำหนดเป็นจริงได้ ตัวอย่างเช่น สามารถกำหนดให้ยุติลูปเมื่ออินพุตของผู้ใช้เป็นค่าหนึ่งที่กำหนดไว้ ตัวอย่าง: ยุติลูปไม่รู้จบด้วยอินพุตwhile True:
user_input = input("พิมพ์ 'จบ' เพื่อหยุดลูป: ")
if user_input == "จบ":
print("ยุติลูป")
break
print(f"ข้อความที่ป้อน: {user_input}")
ในตัวอย่างนี้ เมื่อผู้ใช้พิมพ์ “จบ” ลูปจะสิ้นสุดด้วยคำสั่ง break
วิธีนี้เหมาะสำหรับโปรแกรมเชิงโต้ตอบ เพราะสามารถควบคุมลูปแบบไดนามิกตามอินพุตของผู้ใช้ได้การประหยัดทรัพยากรด้วยการใช้ time.sleep()
เมื่อรันลูปไม่รู้จบด้วยความเร็วสูง จะกินทรัพยากร CPU ดังนั้นการหยุดการประมวลผลชั่วคราวด้วยฟังก์ชันtime.sleep()
จะช่วยลดการใช้ CPU ได้ ตัวอย่าง: ลูปไม่รู้จบที่มีช่วงรอคั่นimport time
while True:
print("กำลังทำงานโดยประหยัดทรัพยากร...")
time.sleep(1) # พักรอทุก ๆ 1 วินาที
การใช้ time.sleep()
แบบนี้ทำให้ลูปทำงานทุก ๆ 1 วินาที จึงช่วยลดการใช้ทรัพยากรที่ไม่จำเป็นได้ เหมาะเมื่อเก็บข้อมูลหรือประมวลผลเป็นช่วง ๆลูปไม่รู้จบด้วยโมดูล itertools
ในโมดูลitertools
ของ Python มีฟังก์ชันอย่าง count()
และ cycle()
ที่เหมาะสำหรับลูปไม่รู้จบ การใช้ฟังก์ชันเหล่านี้ช่วยให้สร้างลูปที่ทำซ้ำลำดับค่าได้ไม่สิ้นสุดอย่างง่ายดาย ตัวอย่าง: ลูปไม่รู้จบพร้อมตัวนับด้วย count()from itertools import count
for i in count(1):
print(i)
if i >= 10: # เงื่อนไขการสิ้นสุดตามต้องการ
break
ในตัวอย่างนี้ เราสร้างตัวนับไม่สิ้นสุดเริ่มจาก 1 ด้วย count(1)
แล้ววนซ้ำด้วยลูป for
เมื่อค่า i
มากกว่าหรือเท่ากับ 10 จะยุติลูปด้วยคำสั่ง break
ซึ่งสะดวกมากเมื่อต้องการควบคุมลูปไม่รู้จบลูปไม่รู้จบที่รอรับอินพุตผู้ใช้
หากต้องการรันลูปไม่รู้จบพร้อมกับรอรับอินพุตจากผู้ใช้ การใช้ฟังก์ชันiter()
จะช่วยให้ทำได้อย่างมีประสิทธิภาพ ตัวอย่างต่อไปนี้สร้างลูปที่รับอินพุตไปเรื่อย ๆ จนกว่าผู้ใช้จะพิมพ์ “exit” ตัวอย่าง: ลูปไม่รู้จบโดยใช้ iter() และเงื่อนไขการสิ้นสุดdef get_input():
return input("กรุณาป้อนข้อความ (หากต้องการออกให้พิมพ์ 'exit'): ")
for user_input in iter(get_input, 'exit'):
print(f"ข้อความที่ป้อน: {user_input}")
ในตัวอย่างนี้ ฟังก์ชัน iter()
จะเรียก get_input
ซ้ำไปมา และลูปจะดำเนินต่อไปจนกว่าจะป้อน “exit” วิธีนี้สะดวกเมื่อจะออกจากลูปไม่รู้จบโดยใช้คำที่ผู้ใช้ป้อนเป็นทริกเกอร์
6. สรุป
ลูปไม่สิ้นสุดในภาษา Python เป็นเครื่องมือทรงพลังที่มีประโยชน์ต่อการใช้งานได้หลากหลาย บทความนี้ได้อธิบายอย่างละเอียดตั้งแต่พื้นฐานของลูปไม่สิ้นสุดใน Python ไปจนถึงตัวอย่างการประยุกต์ใช้ พร้อมโค้ดจริง การใช้ลูปไม่สิ้นสุดนั้นสะดวก แต่หากใช้อย่างไม่ถูกต้องอาจทำให้ระบบมีภาระสูงหรือก่อให้เกิดพฤติกรรมที่ไม่คาดคิดได้ จึงจำเป็นต้องระมัดระวังทบทวนประเด็นสำคัญ
- โครงสร้างพื้นฐานของลูปไม่สิ้นสุด เมื่อสร้างลูปไม่สิ้นสุดในภาษา Python มีไวยากรณ์ที่ใช้
while True
และคำสั่งfor
ซึ่งการทำความเข้าใจสิ่งเหล่านี้จะช่วยให้สามารถสร้างลูปไม่สิ้นสุดได้อย่างมีประสิทธิภาพ นอกจากนี้ การใช้โมดูลitertools
จะทำให้การสร้างเคาน์เตอร์ที่เพิ่มขึ้นอย่างไม่สิ้นสุดหรือการทำซ้ำซีเควนซ์ทำได้ง่ายขึ้น - วิธีหยุดลูปไม่สิ้นสุด การรู้วิธีจบการทำงาน เช่น คำสั่ง
break
หรือKeyboardInterrupt
(Ctrl + C) จะช่วยให้คุณควบคุมลูปไม่สิ้นสุดได้ตามต้องการ การใช้วิธีหยุดลูปไม่สิ้นสุดอย่างเหมาะสมจะช่วยให้ได้โปรแกรมที่ปลอดภัยและมีประสิทธิภาพ - ตัวอย่างการประยุกต์ใช้งานจริง ลูปไม่สิ้นสุดมีประโยชน์ในหลายสถานการณ์ เช่น การเก็บข้อมูลแบบเรียลไทม์ การรอคำขอของเซิร์ฟเวอร์ และลูปหลักของเกม นอกจากนี้ การใช้
time.sleep()
เพื่อลดอัตราการใช้ CPU จะช่วยลดภาระของระบบ พร้อมทั้งใช้ลูปไม่สิ้นสุดได้อย่างมีประสิทธิภาพ