Python выход из подпрограммы

Python выход из подпрограммы

Функция может возвращать результат. Для этого в функции используется оператор return , после которого указывается возвращаемое значение:

def имя_функции ([параметры]): инструкции return возвращаемое_значение

Определим простейшую функцию, которая возвращает значение:

def get_message(): return "Hello METANIT.COM"

Здесь после оператора return идет строка «Hello METANIT.COM» — это значение и будет возвращать функция get_message() .

Затем это результат функции можно присвоить переменной или использовать как обычное значение:

def get_message(): return "Hello METANIT.COM" message = get_message() # получаем результат функции get_message в переменную message print(message) # Hello METANIT.COM # можно напрямую передать результат функции get_message print(get_message()) # Hello METANIT.COM

После оператора return может идти и сложное вычислямое выражение, резлуьтат которого будет возвращаться из функции. Например, определим функцию, которая увеличивает число в два раза:

def double(number): return 2 * number

Здесь функция double будет возвращать результат выражения 2 * number :

def double(number): return 2 * number result1 = double(4) # result1 = 8 result2 = double(5) # result2 = 10 print(f"result1 = ") # result1 = 8 print(f"result2 = ") # result2 = 10

Или другой пример — получение суммы чисел:

def sum(a, b): return a + b result = sum(4, 6) # result = 0 print(f"sum(4, 6) = ") # sum(4, 6) = 10 print(f"sum(3, 5) = ") # sum(3, 5) = 8

Выход из функции

Оператор return не только возвращает значение, но и производит выход из функции. Поэтому он должен определяться после остальных инструкций. Например:

def get_message(): return "Hello METANIT.COM" print("End of the function") print(get_message())

С точки зрения синтаксиса данная функция корректна, однако ее инструкция print(«End of the function») не имеет смысла — она никогда не выполнится, так как до ее выполнения оператор return возвратит значение и произведет выход из функции.

Однако мы можем использовать оператор return и в таких функциях, которые не возвращают никакого значения. В этом случае после оператора return не ставится никакого возвращаемого значения. Типичная ситуация — в зависимости от опеределенных условий произвести выход из функции:

def print_person(name, age): if age > 120 or age < 1: print("Invalid age") return print(f"Name: Age: ") print_person("Tom", 22) print_person("Bob", -102)

Здесь функция print_person в качестве параметров принимает имя и возраст пользователя. Однако в функции вначале мы проверяем, соответствует ли возраст некоторому диапазону (меньше 120 и больше 0). Если возраст находится вне этого диапазона, то выводим сообщение о недопустимом возрасте и с помощью оператора return выходим из функции. После этого функция заканчивает свою работу.

Однако если возраст корректен, то выводим информацию о пользователе на консоль. Консольный вывод:

Name: Tom Age: 22 Invalid age

Источник

Завершить программу или функцию в 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 часов видеоконтента с инструкциями для начинающих. Узнайте, как создавать приложения для реального мира, и освойте основы.

Источник

Как остановить выполнение функции в Python?

Для остановки выполнения функции в Python можно использовать ключевой оператор return . Когда функция достигает этого оператора, она прекращает выполнение и возвращает указанное значение.

def func(): print('Часть функции, где код сработает') x = 11 return x # Функция возвращает значение переменной x и завершает свою работу. print('Эта часть функции - нет') y = 22 return y a = func() print(a) # => Часть функции, где код сработает # => 11 

Источник

Читайте также:  Learning to code html and css
Оцените статью