Во время работы над проектом Python мне нужно было создать функцию, которая могла бы вычислять расстояние между двумя точками, поэтому, когда я вызывал эту функцию, она должна возвращать значение в результате в Python.
В подобных ситуациях оператор return помогает получить в результате требуемое значение любого типа данных.
- Как использовать функцию возврата
- Функция без оператора возврата
- Базовая функция
- С аргументами
- Функция возвращает несколько значений
- Возврат с условиями
- Вызов функции внутри оператора возврата
Как использовать функцию возврата
Давайте разберемся, как ключевое слово return работает в Python, с помощью практического сценария, чтобы вы могли использовать оператор return в правильной ситуации.
Например, я создал функцию для расчета разницы между двумя температурами и вызвал эту функцию следующим образом:
difference = check_temperature(34, 29)
Здесь разностная переменная может сохранять результат непосредственно с помощью оператора return в функции.
Функция без оператора возврата
Сначала мы увидим, что происходит, когда вы не используете оператор return в функции, и почему вам следует использовать оператор return в Python.
Вот пример, в котором мы не будем использовать ключевое слово return в функции Python.
def welcome(): print('Welcome to the Python Guides') greeting = welcome() print(greeting)
В приведенном выше коде мы определили функцию с именем Welcome() и передали оператор print() для отображения сообщения пользователю.
Но при вызове функции внутри переменной приветствия, например: Greeting = Welcome(), и попытке напечатать приветствие, мы также получили на выходе сообщение с None. Это связано с тем, что когда вы пытаетесь использовать print() внутри метода print(), он не возвращает ничего в качестве вывода.
Итак, недостатком неиспользования оператора return внутри функции является то, что вы не можете присвоить его какой-либо переменной.
Базовая функция
Return в Python используется для прерывания или выхода из функции, а также возвращает значение при вызове этой функции. Вы можете использовать это значение, вызвав функцию напрямую или присвоив его переменной в Python.
Синтаксис
def function_name(): return value
- def: это ключевое слово используется для определения новой функции или метода в Python.
- function_name(): здесь вы можете указать аргументы, подобные этому имя_функции (параметр1, параметр2)
- return value: Return нарушит поток функции и вернет значение, которое вы зададите с помощью ключевого слова return.
Давайте разберемся в этом на одном практическом примере: как работает функция возврата Python.
def calculate_cost(apples_count): price_per_apple = 0.5 return apples_count * price_per_apple apples_bought = int(input("How many apples you brought: ")) total_cost = calculate_cost(apples_bought) print(f"The cost for {apples_bought} apples is ${total_cost}.")
В приведенном выше коде нам нужно рассчитать счет так, чтобы пользователь указывал количество яблок в качестве параметра, и он должен возвращать общий счет за яблоки.
Итак, здесь мы используем ключевое слово return и вычисляем стоимость с помощью оператора return. вот так верните apples_count * цена_per_apple.
Затем мы взяли вводимые пользователем данные, чтобы получить количество яблок, и использовали эту переменную в качестве параметра функции Calculate_cost(apples_bought).
С аргументами
Давайте посмотрим еще один пример, передав функции несколько аргументов и вернув результат. В предыдущем примере мы выполняли вычисления с помощью ключевого слова return, но здесь мы будем вызывать имя переменной с помощью ключевого слова return.
Давайте выполним код возвращающей функции Python с несколькими аргументами.
def total_with_tax(price, tax_rate): tax = price *(tax_rate / 100) total_price = price + tax return total_price total = total_with_tax(100, 8.875) print("Total amount you have to pay: ",total)
В приведенном выше коде мы создали функцию для расчета налога и определения общей цены. В функции total_price содержит результат цены и налога и возвращает total_price.
Затем мы инициализируем переменную с именем total и вызываем функцию, передавая цену и ставку налога в качестве параметра, например: total = total_with_tax(100, 8,875).
Функция возвращает несколько значений
Здесь мы вернем несколько значений в функцию и назначим их переменным. Это концепция упаковки и распаковки в Python.
Когда вы возвращаете несколько значений, все значения упаковываются в кортеж. И когда мы вызываем функцию, она распаковывает значения.
Синтаксис:
def function_name(): return value1, value2
- возвращаемое значение1, значение2: здесь значения будут упакованы в кортеж.
Давайте разберемся, как функция возврата Python может обрабатывать несколько значений.
def get_financial_data(): earnings = int(input("Enter your monthly earnings: ")) expenses = int(input("Enter your monthly expenses: ")) return earnings, expenses last_month_earnings, last_month_expenses = get_financial_data() print(f"Earnings: ${last_month_earnings}, Expenses: ${last_month_expenses}.") if last_month_earnings > last_month_expenses: print(f"You saved ${last_month_earnings-last_month_expenses}") else: print(f"You are in debt of: ${last_month_expenses-last_month_earnings}")
В приведенном выше коде мы создаем функцию с именем get_financial_data(). Когда мы вызываем эту функцию, она принимает от пользователя данные о ежемесячных доходах и расходах. Затем верните оба значения следующим образом: возврат доходов и расходов.
Затем мы создали две разные переменные вместе и распаковали значения, вызвав функцию следующим образом: Last_month_earnings, Last_month_expenses = get_financial_data().
Возврат с условиями
Мы также можем возвращать разные значения в зависимости от условия в Python. Это означает, что мы можем использовать ключевое слово return несколько раз в зависимости от условия.
Синтаксис
def function_name(): if condition: return value_1 else: return value_2
- Если первое условие принимает значение True, оно вернет только value_1 и игнорирует другие возвращаемые значения.
Вот пример возвращающей функции Python, основанной на заданном условии.
def check_age(name, age): if age >= 21: return f"Hello {name}, you are eligible for blood donation" else: return f"Sorry {name}, you are not eligible for blood donation" name = input("Enter your name: ") age = int(input("Enter your age: ")) result = check_age(name, age) print(result)
В приведенном выше коде мы принимаем введенные пользователем данные: их имя и возраст, и в зависимости от их возраста нам нужно разрешить им сдавать кровь.
Итак, мы создали переменную с именем result и присвоили ей значение, вызвав функцию. Затем он перейдет к функции, поэтому условием является то, что возраст должен быть больше или равен 21 году. Он вернет подходящее сообщение; в противном случае он не вернет подходящее сообщение с их именами.
Вызов функции внутри оператора возврата
Давайте посмотрим, как мы можем вызвать другую функцию с помощью оператора return в Python.
Мы можем вызвать функцию любого типа, например встроенную или определяемую пользователем функцию.
Давайте посмотрим, как мы можем вызвать встроенную функцию внутри функции возврата Python.
def check_price(item): menu = {"pizza": 150, "pasta": 120, "burger":80, "desert": 50} return menu.get(item) order = input("Enter your Order: ") price = check_price(order) if price: print(f"Price of {order}: {price}") else: print("Sorry your order is not available")
В приведенном выше коде мы восприняли заказ как введенное пользователем название продукта, и он должен вернуть цену этого блюда.
Итак, мы создали функцию с именем check_price(item), создали меню внутри функции и вызвали метод dict.get() с оператором возврата, например: return Menu.get(item), чтобы получить значение этого ключа.