3 способи завершити програму на Python

| | 0 Comments| 8:45 PM
Categories:

Швидкі посилання

Знання того, як завершити програму, є важливим і може бути корисним у різних сценаріях. Наприклад, якщо ви створюєте просту гру, ви можете вийти за певного введення користувача або коли виконується певна умова. Дізнайтеся про відмінності між трьома способами зупинки програми Python.

1. Використання quit() або exit()

Одним із найпростіших способів завершити програму Python є використання одного з вбудованих методів, quit() або exit(). Коли ви викликаєте quit() або exit(), програма завершиться.

Функції quit() і exit() виконують абсолютно однакові дії, це лише питання особистих уподобань, які ви використовуєте.

Ось як ви можете використовувати функцію quit(), щоб завершити програму Python:

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

Зразок програми вище буде друкувати цілі числа від 0 до 8 на консолі. Коли num дорівнює 9, програма завершує роботу. Ви також можете використовувати команду quit(), щоб вийти з Python Integrated Development and Learning Environment (IDLE), яке дозволяє запускати сценарії Python в інтерактивному режимі.

  Google «Тест швидкості», щоб перевірити швидкість вашої Інтернету зі сторінки пошуку Google

Зауважте, що як quit(), так і exit() покладаються на модуль сайту, тому ви не повинні використовувати їх у робочих середовищах. Наступний метод, sys.exit(), є кращим варіантом.

2. Використання sys.exit()

Коли ви викликаєте sys.exit() у своїй програмі, Python викликає виключення SystemExit. Він приймає необов’язковий аргумент для визначення цілочисельного коду виходу (0 за замовчуванням). Ви також можете передати об’єкт, який призведе до коду виходу 1 і виведе значення рядка об’єкта до стандартної помилки.

 import sys 

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

Результат програми буде таким:

Подібно до методів quit і exit, sys.exit() також викликає виключення SystemExit. Це означає, що ви можете викликати sys.exit() або підняти SystemExit(). Обидва приймають необов’язковий аргумент.

  9 найкращих платформ для найму професійних дизайнерів

Вам слід дізнатися про найважливіші функції Python, якщо ви не розумієте, як працює наведений вище код.

3. Використання os._exit()

Третім способом виходу з програми є спеціальний метод os._exit(). Ви можете передати йому необов’язковий аргумент, щоб указати код статусу виходу. os._exit() надходить з модуля os і негайно припиняє процес, не виконуючи звичайні дії очищення, які відбуваються під час завершення роботи програми Python.

Оскільки ця функція завершує роботу без виконання звичайного очищення, ви повинні використовувати її лише в особливих випадках. Відповідно до Документація Pythonгарним прикладом є дочірній процес після розгалуження (новий процес, створений за допомогою os.fork()).

Ось приклад того, як використовувати функцію os._exit() для завершення програми:

 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:
            
            child_process()
        else:
            
            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()

Наведений вище код виведе наступне:

  Як вставити текстове поле в Google Docs

Який метод слід використовувати для завершення програми на Python?

Python надає різні методи завершення програми. Однак більшість цих методів роблять те саме. Це має зменшити тягар прийняття рішень, якщо вам потрібно додати механізм виходу до вашої програми під час вивчення Python.

Таким чином, sys.exit() має бути вашим основним методом для завершення програми на Python. Він викликає виняткову ситуацію SystemExit із необов’язковим кодом виходу.

Методи quit() і exit() є більш доречними при використанні Python REPL. Ви повинні уникати їх у виробництві, оскільки вони залежать від модуля сайту, який не завжди може бути доступним. Вам рідко потрібно використовувати os._exit(), якщо ви не працюєте з кодом, який розгалужує процеси.