Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 150 симвлолов
- отступ = 4 пробела
- # Выровнено по открывающему разделителю
- foo = long_function_name(var_one, var_two,
- var_three, var_four)
- либо быть под первым символом строки, начинающей многострочную конструкцию:
- my_list = [
- 1, 2, 3,
- 4, 5, 6,
- ]
- result = some_function_that_takes_arguments(
- 'a', 'b', 'c',
- 'd', 'e', 'f',
- )
- Предпочтительнее вставить перенос строки после логического оператора,
- if (width == 0 and height == 0 and
- color == 'red' and emphasis == 'strong' or
- highlight > 100):
- Отделяйте функции верхнего уровня и определения классов двумя пустыми строками.
- Определения методов внутри класса разделяются двумя пустыми строками.
- одной пустой строкой отделяем логические абзацы
- "Шибанк" не указываем
- Кодировку не указываем
- import ztrl+alt+o
- Пробелы - дефолт с пепа
- Если используются операторы с разными приоритетами, попробуйте добавить пробелы вокруг операторов с самым низким приоритетом. Используйте свои собственные суждения, однако, никогда не используйте более одного пробела, и всегда используйте одинаковое количество пробелов по обе стороны бинарного оператора.
- Не используйте составные инструкции (несколько команд в одной строке).
- Неправильно:
- if foo == 'blah': do_blah_thing()
- for x in lst: total += x
- while t < 10: t = delay()
- встрочные комменты (2 пробела после строки + # + пробел + коммиент)
- x = x + 1 # Increment x
- переменные/фенкции lower_case_with_underscores (слова из маленьких букв с подчеркиваниями)
- константы UPPERCASE_WITH_UNDERSCORES (слова из заглавных букв с подчеркиваниями)
- класс CapitalizedWords (слова с заглавными буквами, или CapWords, или CamelCase).
- _single_leading_underscore: слабый индикатор того, что имя используется для внутренних нужд.
- __method_name не используем
- Имена модулей и пакетов
- Модули должны иметь короткие имена, состоящие из маленьких букв. Можно использовать символы подчеркивания, если это улучшает читабельность.
- Всегда используйте выражение def, а не присваивание лямбда-выражения к имени.
- Правильно:
- def f(x): return 2*x
- Неправильно:
- f = lambda x: 2*x
- Сравнение типов объектов нужно делать с помощью isinstance(), а не прямым сравнением типов:
- Правильно:
- if isinstance(obj, int):
- Не сравнивайте логические типы с True и False с помощью ==:
- Правильно:
- if greeting:
- Запросы:
- Ключевые слава капсом
- Ключевые слова с новых строк
- при переносе строки делаем отступ
- подзапросы с отступом
- используем f строки и %s и дикт в запрос
- Добавление нового объекта в словарь
- Если один объект, то dict['diid'] = fdsa
- если много, то dict.update({ })
- Анотации типов в объявление функций
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement