Взято отсюда Полезно знать как писать в python стиле:

  • используйте 4 пробела для отступа и не используйте табы, не смешивайте их
  • максимальная длина строки 79 символов; для разрыва строки используйте отступы или бэкслеш
  • функции верхнего уровня и определения классов отделяйте двумя пустыми строками
  • определения методов внутри класса отделяйте одной пустой строкой
  • дополнительные пустые строки используйте для логической группировки методов
  • кодировка файлов должна быть Latin-1, а в Питоне 3 и выше - utf-8
  • каждый импортируемый модуль с новой строки
  • порядок импортов: стандартные модули, third-party модули, локальные модули приложения
  • пустая строка между каждой группой импортов
  • избегайте лишних пробелов внутри скобок; перед запятыми, точкой с запятой и двоеточиями
  • избегайте лишних пробелов перед скобками с аргументами функций и скобками с индексами
  • избегайте больше чем одного пробела между операторами (= - + итд)
  • используйте одиночный пробел для выделения операторов
  • избегайте пробелов вокруг ‘=’, который используется для параметров по-умолчанию и keyword аргументов
  • обновляйте комментарии вместе с кодом
  • пишите комментарии по-английски
  • избегайте имён из одиночных l, O, I
  • для модулей и пакетов используйте короткие всестрочные имена
  • для классов используйте СловаНачинаютсяЗаглавными имена
  • для функций используйте слова_с_подчёркиваниями (или смешанныйРегистр если так получилось исторически)
  • для методов используйте слова_с_подчёркиваниями имена
  • для внутренних методов и переменных _подчёркивание_перед_словом
  • для проверки на None используйте is или is not, не используйте операторы сравнения
  • используйте исключения основанные на классах – наследованные от Exception
  • используйте методы класса string вместо строковых функций
  • используйте “.startswith() и “.endswith() вместо вырезки из строк для проверки префиксов и суффиксов
  • используйте isinstance() для проверки типа
  • не сравнивайте булевы переменные с True и False