Сокращение условий с использованием логических операторов

При возникновении дублирования кода в разных ветках вложенных условных операторов можно сократить количество и вложенность условий применением логических операторов. Обычно используются операторы or и and, но бывают полезны и другие логические функции, а так же их комбинации.

Например, следующие условия определяют какую функцию вызвать: first_operator или second_operator.

if first_condition: 
  if second_condition: 
    first_operator()
  else: 
    second_operator()
else: 
  if second_condition: 
    second_operator()
  else: 
    first_operator()

Такая конструкция реализует следующую зависимость: если first_condition и second_condition оба истинны или ложны то выполняется first_operator, в других случаях second_operator. Условия можно переписать используя оператор равенства (или xor):

if first_condition == second_condition: 
    first_operator()
  else: 
    second_operator()

Для сокращения таких условий может помочь построение таблицы истинности.

Ссылки на эту заметку

Эта заметка на GitHub

Обсудить на форуме

Последниее изменение: