Стиль программирования 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 © Все права защищены 2022

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