Согласно принципам PEP 8 в коде Python нужно использовать четыре пробела на каждый уровень отступа и не смешивать их с табуляциями. Это всего лишь одно из правил, которое не диктуется синтаксисом Python. Но тем не менее, ему нужно следовать, чтобы код был управляемым и не содержал ошибок.
Анти-паттерн: смешение пробелов и табуляций:
Рефакторинг: преобразование табуляций в пробелы.
Решение состоит в том, чтобы изменить код так, чтобы табуляции заменились пробелами. Вот самые простые способы сделать это:
1. Изменить настройки текстового редактора, которым пользуетесь, так, чтобы табуляции стала равна четырем пробелам. Такая опция есть практически во всех редакторах.
2. Если вы работаете на Linux и используете VIM, просто используйте команду: retab, чтобы VIM сделал работу за вас. Эта команда заменит табуляцию на количество пробелов, которое указано в настройках табуляции.
3. Можно запустить скрипт reindent.py для автоматического отступа. Этот скрипт можно найти в директории
Python ..>Tools\Scripts\reindent.py.
Python3 не допускает смешения пробелов и табуляций, поэтому если нужно работать с чужим кодом, на всякий случай убедитесь, что с пробелами и табуляциями все в порядке.