Advertisement
Guest User

Untitled

a guest
Apr 18th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.21 KB | None | 0 0
  1. 150 симвлолов
  2. отступ = 4 пробела
  3. # Выровнено по открывающему разделителю
  4. foo = long_function_name(var_one, var_two,
  5. var_three, var_four)
  6.  
  7. либо быть под первым символом строки, начинающей многострочную конструкцию:
  8.  
  9. my_list = [
  10. 1, 2, 3,
  11. 4, 5, 6,
  12. ]
  13. result = some_function_that_takes_arguments(
  14. 'a', 'b', 'c',
  15. 'd', 'e', 'f',
  16. )
  17.  
  18. Предпочтительнее вставить перенос строки после логического оператора,
  19. if (width == 0 and height == 0 and
  20. color == 'red' and emphasis == 'strong' or
  21. highlight > 100):
  22.  
  23. Отделяйте функции верхнего уровня и определения классов двумя пустыми строками.
  24.  
  25. Определения методов внутри класса разделяются двумя пустыми строками.
  26.  
  27. одной пустой строкой отделяем логические абзацы
  28.  
  29. "Шибанк" не указываем
  30. Кодировку не указываем
  31.  
  32. import ztrl+alt+o
  33.  
  34. Пробелы - дефолт с пепа
  35.  
  36.  
  37. Если используются операторы с разными приоритетами, попробуйте добавить пробелы вокруг операторов с самым низким приоритетом. Используйте свои собственные суждения, однако, никогда не используйте более одного пробела, и всегда используйте одинаковое количество пробелов по обе стороны бинарного оператора.
  38.  
  39. Не используйте составные инструкции (несколько команд в одной строке).
  40. Неправильно:
  41. if foo == 'blah': do_blah_thing()
  42. for x in lst: total += x
  43. while t < 10: t = delay()
  44.  
  45. встрочные комменты (2 пробела после строки + # + пробел + коммиент)
  46. x = x + 1 # Increment x
  47.  
  48.  
  49. переменные/фенкции lower_case_with_underscores (слова из маленьких букв с подчеркиваниями)
  50. константы UPPERCASE_WITH_UNDERSCORES (слова из заглавных букв с подчеркиваниями)
  51. класс CapitalizedWords (слова с заглавными буквами, или CapWords, или CamelCase).
  52.  
  53. _single_leading_underscore: слабый индикатор того, что имя используется для внутренних нужд.
  54.  
  55. __method_name не используем
  56.  
  57. Имена модулей и пакетов
  58. Модули должны иметь короткие имена, состоящие из маленьких букв. Можно использовать символы подчеркивания, если это улучшает читабельность.
  59.  
  60.  
  61. Всегда используйте выражение def, а не присваивание лямбда-выражения к имени.
  62.  
  63. Правильно:
  64.  
  65. def f(x): return 2*x
  66.  
  67. Неправильно:
  68.  
  69. f = lambda x: 2*x
  70.  
  71.  
  72.  
  73. Сравнение типов объектов нужно делать с помощью isinstance(), а не прямым сравнением типов:
  74.  
  75. Правильно:
  76.  
  77. if isinstance(obj, int):
  78.  
  79.  
  80.  
  81. Не сравнивайте логические типы с True и False с помощью ==:
  82.  
  83. Правильно:
  84.  
  85. if greeting:
  86.  
  87.  
  88.  
  89. Запросы:
  90. Ключевые слава капсом
  91. Ключевые слова с новых строк
  92. при переносе строки делаем отступ
  93. подзапросы с отступом
  94. используем f строки и %s и дикт в запрос
  95.  
  96.  
  97.  
  98. Добавление нового объекта в словарь
  99. Если один объект, то dict['diid'] = fdsa
  100. если много, то dict.update({ })
  101.  
  102.  
  103. Анотации типов в объявление функций
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement