Contents

3 cách để kết thúc chương trình trong Python

Đường dẫn nhanh

⭐Sử dụng quit() hoặc exit()

⭐Sử dụng sys.exit()

⭐Sử dụng os._exit()

⭐Bạn nên sử dụng phương pháp nào để chấm dứt chương trình trong Python?

Việc chấm dứt một ứng dụng phần mềm một cách thành thạo có ý nghĩa quan trọng trong nhiều tình huống khác nhau. Ví dụ: giả sử rằng một người đang nghĩ ra một trò chơi điện tử cơ bản, bạn có thể thoát dựa trên đầu vào cụ thể của người dùng hoặc dựa trên việc nhận ra một điều kiện tiên quyết được xác định trước. Đi sâu vào sự khác biệt giữa bộ ba phương pháp để dẫn đến việc ngừng tập lệnh Python.

Sử dụng quit() hoặc exit()

Người ta có thể kết luận một tập lệnh Python bằng cách sử dụng một trong các hàm vốn có của nó, cụ thể là “quit()” hoặc “exit()”. Khi gọi một trong hai lệnh này, chương trình sẽ ngừng thực thi.

Cả hai hàm quit()exit() đều phục vụ các mục đích giống nhau; việc sử dụng một trong hai chủ yếu là vấn đề lựa chọn của mỗi cá nhân dựa trên khuynh hướng cá nhân hơn là bất kỳ sự khác biệt đáng kể nào về chức năng.

“Để kết thúc tập lệnh Python, người ta có thể sử dụng hàm quit().

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

Mã được cung cấp lặp qua các số từ 0 đến 8, hiển thị chúng một cách tuần tự trong bảng điều khiển. Khi gặp giá trị 9, chương trình sẽ chấm dứt hoạt động. Ngoài ra, người ta có thể sử dụng hàm quit() để ngừng thực thi Môi trường học tập và phát triển tích hợp Python (IDLE). Nền tảng này cho phép người dùng thực thi các tập lệnh Python một cách tương tác, mang đến cơ hội trải nghiệm lập trình thực hành.

Cần lưu ý rằng cả quit()exit() đều phụ thuộc vào chức năng của mô-đun site và do đó có thể không phù hợp để sử dụng trong môi trường sản xuất. Thay vào đó, cách tiếp cận thay thế do sys.exit() cung cấp thường được coi là phù hợp hơn trong những bối cảnh như vậy.

Sử dụng sys.exit()

Khi sử dụng hàm sys.exit() trong tập lệnh Python, một phiên bản của ngoại lệ SystemExit sẽ xuất hiện. Ngoại lệ này hỗ trợ một tham số tùy chọn xác định mã thoát, với giá trị mặc định là 0. Ngoài ra, nó cho phép truyền một đối tượng, khi thực thi sẽ mang lại mã thoát là 1 và hiển thị biểu diễn chuỗi của đối tượng trên tiêu chuẩn luồng lỗi.

 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) 

Kết quả đầu ra của chương trình sẽ bao gồm định dạng sau:

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

Tương tự như chức năng được cung cấp bởi các phương thức quitexit trong mô-đun sys tích hợp của Python, phương thức sys.exit() là một cách khác để chấm dứt một tập lệnh Python một cách duyên dáng. Cũng giống như các đối tác của nó, khi được gọi, nó sẽ kích hoạt một ngoại lệ SystemExit. Sự khác biệt đáng chú ý ở đây nằm ở chỗ việc gọi sys.exit() hoặc raise SystemExit() đều sẽ chấp nhận một đối số tùy chọn để cung cấp thông tin bổ sung, nếu cần.

Để hiểu toàn diện về chức năng của mã được cung cấp, bạn nên làm quen với các hàm Python cơ bản được sử dụng trong tập lệnh.

Sử dụng os._exit()

Cách tiếp cận thứ ba để thoát khỏi chương trình liên quan đến việc sử dụng phương thức os.\_exit() đặc biệt, cho phép bạn cung cấp một tham số tùy chọn chỉ định mã trạng thái thoát. Phương thức này nằm trong mô-đun os và nhanh chóng kết thúc quá trình mà không thực hiện các tác vụ dọn dẹp thông thường thường liên quan đến việc chấm dứt chương trình Python.

Vì chức năng này thoát ra mà không thực hiện dọn dẹp thông thường nên bạn chỉ nên sử dụng nó trong những trường hợp đặc biệt. Theo tài liệu Python, một ví dụ điển hình là trong một tiến trình con sau một ngã ba (một tiến trình mới được tạo bằng cách sử dụng 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()

Đoạn mã trên sẽ xuất ra như sau:

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

Bạn nên sử dụng phương pháp nào để kết thúc chương trình trong Python?

Python đưa ra một số cách tiếp cận để kết thúc một chương trình, mặc dù nhiều trong số đó cuối cùng dẫn đến việc ngừng thực thi chương trình. Những lựa chọn thay thế này có thể giảm bớt gánh nặng nhận thức liên quan đến việc chọn một phương pháp thích hợp để kết thúc chương trình trong khi phát triển phần mềm bằng Python, đặc biệt là trong giai đoạn đầu học ngôn ngữ.

Tóm lại, khi chấm dứt chương trình Python, bạn nên sử dụng hàm sys.exit() vì nó tạo ra ngoại lệ SystemExit một cách hiệu quả cùng với mã thoát tùy chọn để ngừng hoạt động của phần mềm một cách liền mạch.

Nên sử dụng các phương thức quit()exit() khi tương tác với Vòng lặp Đọc-Eval-In của Python (REPL). Tuy nhiên, chúng tôi khuyên bạn không nên sử dụng các phương pháp này trong môi trường sản xuất do chúng phụ thuộc vào mô-đun site, tính khả dụng của mô-đun này không thể được đảm bảo mọi lúc. Hơn nữa, việc sử dụng phương thức os.\_exit() là một cách làm không thường xuyên, ngoại trừ khi xử lý mã sinh ra các quy trình mới.