Стиль программирования Python и основные правила PEP8

PEP 8 — документ, описывающий соглашение о том, как писать код на языке Python. PEP 8 создан на основе рекомендаций создателя языка Гвидо ван Россума.  Ключевая идея Гвидо такова: код читается намного больше раз, чем пишется. Собственно, рекомендации о стиле написания кода направлены на то, чтобы улучшить читаемость кода и сделать его согласованным между большим числом проектов. В идеале, если весь код будет написан в едином стиле, то любой сможет легко его прочесть.

Форматирование

  •  Используйте четыре пробела для отступов. Не делайте отступов в два пробела.
  •  Пишите import  каждого модуля в отдельной строке
  • Располагайте все import‘ы в верхней части кода перед любыми глобальными объявлениями.
  • Отделяйте блок import‘ов от кода пустой строкой.
  • Не используйте конструкцию from … import *
  • Скобки не отделяются пробелами с внутренней стороны. Между функцией и ее аргументами пробел не ставится.

spam(ham[1], {eggs: 2})        # Правильно
spam( ham[ 1 ], { eggs: 2 } )  # Неверно 

  • Перед запятой, двоеточием пробел не ставится, после -— ставится.

if x == 4: 

    print(x, y)

    x, y = y, x       # Правильно

if x == 4 : 

    print(x , y) 

    x , y = y , x     # Неверно

  •  Всегда окружайте следующие бинарные операторы ровно одним символом пробела с каждой стороны:
    • присваивания (=, +=, -= и т. д.),
    • сравнения (==, <, >, !=, <>, <=, >=, in, not in, is, is not),
    • логические (and, or, not),
    • арифметические (+, -, *, /, //, \%, **).
  • Не располагайте несколько инструкций в одной строке. Разнесите их по разным строкам.

x = 3            # Правильно
func(10)
x = 3; func(10)  # Неверно  Не располагайте блок из нескольких инструкций на той же строке сразу после двоеточия (после if, while и т. д.)

Комментарии

  • Комментарии, противоречащие коду, хуже, чем их отсутствие.
  • Располагайте однострочные комментарии после кода в той же строке и отделяйте их от кода не менее чем двумя пробелами. Комментарии должны начинаться с # и одного пробела.

Имена 

  • Не используйте символы `l’, `O’, и `I’ как имена переменных. В некоторых шрифтах они могут быть очень похожи на цифры.
  • Имена переменных и функций должны содержать только маленькие буквы. Слова разделяются символами подчёркивания. Примеры:

 name, name_with_several_words_in_it

  • Имена констант должны содержать только заглавные буквы. Слова разделяются символами подчёркивания. Примеры:

 NAME, NAME_WITH_SEVERAL_WORDS_IN_IT

  • Давайте переменным говорящие английские имена, не используйте транслит.

num_letters = int(input())         # Правильно

kolvo_bukv = int(input())          # Неверно 

Функции 

  • Разделяйте определения функций двумя пустыми строками. Отделяйте определения функций от основного кода двумя пустыми строками до и после.
  • Разделяйте тело функции на логические части одной пустой строкой.

 


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.


Unlix © Все права защищены 2020

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!