Contents

3 วิธีในการจบโปรแกรมใน Python

ลิงค์ด่วน

⭐ใช้คำสั่ง exit() หรือ exit()

⭐ใช้ sys.exit()

⭐ใช้ os._exit()

⭐ คุณควรใช้วิธีใดในการยุติโปรแกรมใน Python

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

ใช้ exit() หรือ exit()

อาจสรุปสคริปต์ Python โดยใช้ฟังก์ชันที่มีอยู่อย่างใดอย่างหนึ่ง นั่นคือ “quit()” หรือ “exit()” เมื่อเรียกใช้คำสั่งใดคำสั่งหนึ่งเหล่านี้ โปรแกรมจะหยุดการทำงาน

ทั้งฟังก์ชัน Quit() และ exit() มีจุดประสงค์ที่เหมือนกัน การใช้อย่างใดอย่างหนึ่งเป็นเรื่องของการเลือกของแต่ละบุคคลโดยพิจารณาจากความชอบส่วนตัวมากกว่าความแตกต่างที่มีนัยสำคัญในการทำงาน

“เพื่อที่จะยุติสคริปต์ Python เราสามารถใช้ฟังก์ชัน exit() ได้

 for num in range(10):
    if num == 9:
        quit()
    print(num)

รหัสที่ให้มาจะวนซ้ำตัวเลขตั้งแต่ 0 ถึง 8 โดยแสดงตามลำดับในคอนโซล เมื่อพบค่า 9 โปรแกรมจะหยุดการทำงาน นอกจากนี้ เราอาจใช้ฟังก์ชัน quit() เพื่อหยุดการดำเนินการของ Python Integrated Development and Learning Environment (IDLE) แพลตฟอร์มนี้ทำให้ผู้ใช้สามารถรันสคริปต์ Python แบบโต้ตอบได้ โดยมอบโอกาสสำหรับประสบการณ์การเขียนโปรแกรมแบบลงมือปฏิบัติจริง

ควรสังเกตว่าทั้ง Quit() และ Exit() ขึ้นอยู่กับการทำงานของโมดูล site และดังนั้นจึงอาจไม่เหมาะสำหรับใช้ภายในสภาพแวดล้อมการใช้งานจริง แต่แนวทางอื่นที่จัดทำโดย sys.exit() โดยทั่วไปถือว่ามีความเหมาะสมมากกว่าในบริบทดังกล่าว

การใช้ sys.exit()

เมื่อใช้ฟังก์ชัน sys.exit() ภายในสคริปต์ Python อินสแตนซ์ของข้อยกเว้น SystemExit จะเกิดขึ้น ข้อยกเว้นนี้สนับสนุนพารามิเตอร์ทางเลือกที่กำหนดโค้ดทางออก โดยมีค่าเริ่มต้นเป็น 0 นอกจากนี้ ยังอนุญาตให้ส่งผ่านออบเจ็กต์ ซึ่งเมื่อดำเนินการแล้ว จะให้ผลลัพธ์โค้ดทางออกเป็น 1 และแสดงการแสดงสตริงของออบเจ็กต์ตามมาตรฐาน กระแสข้อผิดพลาด

 import sys # Remember to include this statement at the top of the module

for num in range(10):
    if num == 5:
        sys.exit("You exited the program")
    print(num) 

ผลลัพธ์ของโปรแกรมต้องประกอบด้วยรูปแบบดังต่อไปนี้

/th/images/python-code-output-screenshot.jpg

เช่นเดียวกับฟังก์ชันการทำงานที่มีให้โดยเมธอด Quit และ Exit ในโมดูล sys ในตัวของ Python เมธอด sys.exit() ก็เป็นอีกวิธีหนึ่งในการยุติสคริปต์ Python อย่างสวยงาม เช่นเดียวกับคู่อื่นๆ เมื่อเรียกใช้ จะทริกเกอร์การเพิ่มข้อยกเว้น SystemExit ความแตกต่างที่เห็นได้ชัดเจนในที่นี้ก็คือการเรียก sys.exit() หรือ Raise SystemExit() ทั้งสองจะยอมรับอาร์กิวเมนต์ที่เป็นทางเลือกเพื่อให้ข้อมูลเพิ่มเติม หากจำเป็น

เพื่อให้เข้าใจอย่างครอบคลุมเกี่ยวกับการทำงานของโค้ดที่ให้มา ขอแนะนำให้ทำความคุ้นเคยกับฟังก์ชันพื้นฐานของ Python ที่ใช้ในสคริปต์

การใช้ os._exit()

แนวทางที่สามสำหรับการออกจากโปรแกรมเกี่ยวข้องกับการใช้เมธอดพิเศษ os.\_exit() ซึ่งช่วยให้คุณสามารถระบุพารามิเตอร์ทางเลือกที่ระบุรหัสสถานะการออก วิธีการนี้อยู่ภายในโมดูล os และยุติกระบวนการทันทีโดยไม่ต้องดำเนินการงานล้างข้อมูลตามธรรมเนียมซึ่งโดยทั่วไปจะเกี่ยวข้องกับการยุติโปรแกรม Python

เนื่องจากฟังก์ชันนี้ออกโดยไม่ทำการล้างข้อมูลตามปกติ คุณควรใช้เฉพาะในกรณีพิเศษเท่านั้น ตามเอกสารของ thePython ตัวอย่างที่ดีอยู่ในกระบวนการลูกหลังจากทางแยก (กระบวนการใหม่ที่สร้างขึ้นโดยใช้ os.fork() )

 import os
import sys

def child_process():
    print("Child process is running.")
    os._exit(0)

def main():
    print("Parent process is running.")

    try:
        pid = os.fork()

        if pid == 0:
            # Code in the child process
            child_process()
        else:
            # Code in the parent process
            print(f"Parent process is continuing with child process PID: {pid}")
    except OSError as e:
        print(f"Fork failed: {e}")
        sys.exit(1)

    print("Parent process is done.")

if __name__ == "__main__":
    main()

รหัสด้านบนจะแสดงผลดังต่อไปนี้:

/th/images/code-output-python.jpg

คุณควรใช้วิธีใดในการยุติโปรแกรมใน Python?

Python เสนอวิธีการยุติโปรแกรมหลายวิธี แม้ว่าหลายวิธีจะส่งผลให้โปรแกรมหยุดทำงานในที่สุด ทางเลือกเหล่านี้อาจช่วยลดภาระการรับรู้ที่เกี่ยวข้องกับการเลือกวิธีการที่เหมาะสมสำหรับการจบโปรแกรมในขณะที่พัฒนาซอฟต์แวร์ใน Python โดยเฉพาะในช่วงเริ่มต้นของการเรียนรู้ภาษา

โดยสรุป เมื่อยุติโปรแกรม Python ขอแนะนำให้ใช้ฟังก์ชัน sys.exit() เนื่องจากสร้างข้อยกเว้น SystemExit ได้อย่างมีประสิทธิภาพ พร้อมด้วยโค้ดทางออกเพิ่มเติมเพื่อการหยุดการทำงานของซอฟต์แวร์อย่างราบรื่น

แนะนำให้ใช้เมธอด Quit() และ exit() ในขณะที่โต้ตอบกับ Python Read-Eval-Print Loop (REPL) อย่างไรก็ตาม ไม่แนะนำให้ใช้วิธีการเหล่านี้ภายในสภาพแวดล้อมการใช้งานจริง เนื่องจากต้องใช้โมดูล ไซต์ ซึ่งไม่สามารถรับประกันความพร้อมใช้งานได้ตลอดเวลา นอกจากนี้ การใช้เมธอด os.\_exit() เป็นแนวทางปฏิบัติที่ไม่บ่อยนัก ยกเว้นเมื่อต้องจัดการกับโค้ดที่สร้างกระบวนการใหม่