Описанная вами ошибка происходит из-за смешивания в отступах табов и пробелов.
Иногда редактор не очень понятно показывает вам где у вас табуляция, а где группа пробелов. Этим грешит, например, mcedit.
рецепт прост: никогда не пользуйтесь табами в питоне. Вопрос, конечно, холиварный, но если у вас с табами проблемы, то вам они точно нигде не нужны. Это значит, что вы не можете адекватно настроить редактор и увидеть где табы и где пробелы.
Для вас будет правильным объяснить редактору, что для питоновских файлов следует всегда заменять таб на 4 пробела.
В питоне табуляция работает также как и везде. Просто операторные скобки в этом языке определяются отступами. Лично мне это решение очень нравится, хотя и порождает ряд неприятных проблем. Кстати запрет на смешивание отступов - это не проблема. Их смешивать - это плохой тон во всех языках, в том числе и yaml и где угодно.
В питоне с такими операторными скобками проблемы с ограниченностью лямбда-функций, а ещё затруднительно писать однострочники для `py`.