@albertalexandrov

Как правильно размещать return?

Какой вариант размещения return правильный:

вариант 1:
def f(x):
  if x <= -2:
    f = 1 - (x+2)**2
  elif -2 < x <= 2:
    f = -x/2
  else:
    f = (x-2)**2 + 1
  
  return f


вариант 2:
def f(x):
  if x <= -2:
    return 1 - (x+2)*(x+2)
  elif -2 < x <= 2:
    return -x/2
  return (x-2)*(x-2) + 1
  • Вопрос задан
  • 187 просмотров
Решения вопроса 1
@fireSparrow
Оба варианты допустимы. Выбирайте тот, который обеспечит большую читабельность и ясность кода.

Для такого простого примера предпочтительным будет второй случай. Если бы там присутствовали более громоздкие вычисления, то имело бы смысл выбрать первый вариант.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
longclaps
@longclaps
def f(x):
    if x <= -2.: # здесь и дальше явный float предпочтителен
        return 1. - (x + 2.) * (x + 2.)
    elif x <= 2.: # выкинуть лишнее сравнение
        return -0.5 * x # унарный минус перед x - это отдельная операция, нафиг её
    return (x - 2.) * (x - 2.) + 1.
Ответ написан
Комментировать
@DenisCompany
Ламер, Любитель, Linux-ид, Python-ист
Все варианты приемлемы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы