Завершить программу или функцию в Python

При программировании на Python нам иногда нужно остановить выполнение программы на основе определенных условий. В этой статье мы обсудим различные способы завершения программы на Python.
Остановить выполнение функции с помощью оператора return
Чтобы остановить выполнение функции в любой момент, вы можете вернуть значение из функции с помощью оператора return. Как только оператор return выполнен, выполнение функции останавливается, и код после оператора return не выполняется. Вы можете наблюдать это на следующем примере.
def myFunction():
print("Inside the funcion. This satement will be printed")
return -1
print("Inside the function. This satement will not be printed.")
print("Outside the function. Calling the function.")
myFunction()
print("Outside the function after function returned.")
Выход:

Outside the function. Calling the function.
Inside the funcion. This satement will be printed
Outside the function after function returned.
В приведенном выше коде оператор после оператора return в функции myFunction()
никогда не будет казнен. Выполнение функции останавливается, как только выполняется оператор return.
Остановить выполнение функции с помощью модуля sys
sys
Модуль предоставляет нам различные функции для выполнения задач. Мы также можем остановить выполнение функции в Python, используя sys
модуль. Для этого мы будем использовать exit()
функция, определенная в sys
модуль.
exit()
функция принимает целое число в качестве входного аргумента, задающего статус выхода. Значение по умолчанию для входного аргумента равно 0. После выполнения sys.exit()
функция повышает SystemExit
исключение.
Чтобы остановить выполнение функции с помощью sys.exit()
функцию, мы выполним exit()
функция внутри функции, которую мы хотим остановить. После этого программа запустится SystemExit
исключение, и выполнение кода остановится. Вы можете наблюдать это на следующем примере.
import sys
def myFunction():
print("Inside the funcion. This satement will be printed")
sys.exit(0)
print("Inside the function. This satement will not be printed.")
print("Outside the function. Calling the function.")
myFunction()
print("Outside the function after function returned.")
Выход:
Outside the function. Calling the function.
Inside the funcion. This satement will be printed
An exception has occurred, use %tb to see the full traceback.
SystemExit: 0
В приведенном выше примере вы можете заметить, что программа запускается в SystemExit
исключение после того, как sys.exit()
функция выполняется.
Чтобы гладко обработать исключение, вы можете поймать SystemExit
исключение с использованием Python try, кроме блоков, как показано ниже.
import sys
try:
def myFunction():
print("Inside the funcion. This satement will be printed")
sys.exit(0)
print("Inside the function. This satement will not be printed.")
print("Outside the function. Calling the function.")
myFunction()
print("Outside the function after function returned.")
except SystemExit:
print("Function terminated.")
Выход:
Outside the function. Calling the function.
Inside the funcion. This satement will be printed
Function terminated.
В приведенном выше коде оператор после myFunction()
в блоке try не будет выполняться, так как управление программой передается блоку кроме SystemExit
происходит исключение.
Остановить выполнение функции с помощью исключения SystemExit
Вместо того, чтобы использовать sys.exit()
метод, вы можете напрямую поднять SystemExit
исключение для прекращения выполнения программы, как показано ниже.
try:
def myFunction():
print("Inside the funcion. This satement will be printed")
raise SystemExit
print("Inside the function. This satement will not be printed.")
print("Outside the function. Calling the function.")
myFunction()
print("Outside the function after function returned.")
except SystemExit:
print("Function terminated.")
Выход:
Outside the function. Calling the function.
Inside the funcion. This satement will be printed
Function terminated.
Мы можем использовать sys.exit()
метод и SystemExit
исключение для прекращения выполнения функции. Однако, если мы не обработаем исключение, выполнение программы Python будет остановлено, как вы видели в первом примере с использованием функции sys.exit().
Завершить программу с помощью модуля os в Python
os
Модуль предоставляет нам _exit()
функция, чтобы остановить выполнение программы Python. Здесь нужно понимать, что os._exit()
функция убивает интерпретатор Python, а не просто останавливает программу. Вы можете наблюдать это на следующем примере.
import os
def myFunction():
print("Inside the funcion. This satement might get printed")
os._exit(0)
print("Inside the function. This satement might get printed.")
print("Outside the function. Calling the function.")
myFunction()
print("Outside the function after function returned.")
Выход:

В приведенном выше выводе вы можете заметить, что ядро было убито после выполнения команды o.s._exit()
функция.
os._exit()
Функция работает, отправляя сигнал ядру операционной системы. При выполнении он отправляет сигнал ядру, чтобы убить интерпретатор Python. Как только ядро операционной системы примет сигнал и выполнит команду для уничтожения интерпретатора Python, все программы Python будут завершены. Однако существует вероятность того, что несколько заявлений, написанных после os._exit()
Функция в программе Python также может выполняться в тот момент, когда ядро получает сигнал и завершает работу интерпретатора Python.
Завершение программы с помощью функции quit() в Python
Вместо os._exit()
функцию, мы можем использовать функцию quit()
функция для завершения программы Python. quit()
функция работает аналогично os._exit()
функция.
def myFunction():
print("Inside the funcion. This satement might get printed")
quit()
print("Inside the function. This satement might get printed.")
print("Outside the function. Calling the function.")
myFunction()
print("Outside the function after function returned.")
Результат приведенного выше кода аналогичен os._exit()
пример.
Завершите программу Python с помощью функции exit()
Вместо quit()
функцию, вы также можете использовать функцию exit()
функция для завершения программы Python. Обе функции работают одинаково.
def myFunction():
print("Inside the funcion. This satement might get printed")
exit(0)
print("Inside the function. This satement might get printed.")
print("Outside the function. Calling the function.")
myFunction()
print("Outside the function after function returned.")
Какую функцию следует использовать для завершения программы Python?
os._exit()
функция, exit()
функция, и quit()
функция завершает работу интерпретатора Python. Следовательно, если вы запускаете несколько программ параллельно, вам не следует использовать эти функции. В противном случае все программы будут остановлены, так как эти функции завершают работу самого интерпретатора.
Вы можете использовать sys.exit()
метод и SystemExit
исключение вместе с блоками try-except для завершения программы. Чтобы завершить функцию, вы можете просто использовать оператор return.
Заключение
В этой статье мы обсудили различные способы остановки функции и завершения программы Python. Чтобы узнать больше о программировании, вы можете прочитать эту статью об исключениях индекса кортежа Python вне допустимого диапазона. Вам также может понравиться эта статья о том, как преобразовать строку в имя переменной в Python.
Надеюсь, вам понравилось читать эту статью. Следите за информативными статьями.
Приятного обучения!
Связанный
Рекомендуемое обучение Python
Курс: Python 3 для начинающих
Более 15 часов видеоконтента с инструкциями для начинающих. Узнайте, как создавать приложения для реального мира, и освойте основы.
Ссылка на источник