Использование функции для замены присваивания по условию
Рассмотрим набор похожих условий.
if a < b:
b = a
if b > a:
b = a
При наличии функций min и max, которые возвращают минимальный и максимальный элемент из переданных в функцию, данные конструкции можно упростить следующим образом.
b = min(a, b)
# if a < b:
# b = a
b = max(a, b)
# if b > a:
# b = a
Функции подобные min и max, обычно, есть в стандартной библиотеке, поэтому такой подход применим во многих языках программирования.
При таком подходе сокращение кода это побочный, а не основной эффект. Важнее повышение читаемости кода. В двух случаях вычисляется минимум или максимум из двух переменных и это значение присваивается одной из переменных, но в одном случае используется условный оператор, а в другом специальная функция. Эти варианты можно сравнить со следующими текстовыми описаниями:
- Если в переменная
aбольше, чем переменнаяb, то присвоить переменнойaзначение из переменнойb, иначе оставить переменнуюaбез изменений; - Присвоить переменной
aминимум из чисел в переменныхaиb.