Правила оформления программ на Python

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

1. Для отступов используйте четыре пробела. Не используйте символ табуляции. Отступы внутри одной программы должны быть одинакового размера.

2. Функции разделяйте двумя пустыми строками. Смысловые блоки внутри одной функции разделяйте одной пустой строкой.

3. Не отделяйте скобки пробелами с внутренней стороны. Не ставьте пробел между функцией и ее аргументами.

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

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

# Правильно
if x == 4:
    print(x, y)
    x, y = y, x 

# Неправильно
if x == 4 :
    print(x , y)
    x,y = y,x
            

5. Не располагайте несколько инструкций в одной строке. Разнесите их по разным строкам.

# Правильно
x = 35
func(10)

# Неправильно
x = 35; func(10)
            

6. Ширина строки не должна превышать 80-100 символов.

Модули

1. Пишите import каждого модуля в отдельной строке.

# Правильно
import math
import sys

# Неправильно
import sys, math
            

2. Располагайте все import'ы в верхней части файла перед любыми глобальными объявлениями.

3. Не используйте конструкцию from ... import *.

# Правильно
import math
from sys import stdin, stdout

stdin.write(str(math.sqrt(4.0)))

# Неправильно
from sys import *
            

Комментарии

1. Комментарии, противоречащие коду, хуже, чем их отсутствие.

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

Имена

1. Не используйте символы «l», «O», «o», и «I» как имена переменных. В некоторых шрифтах они могут быть очень похожи на цифры.

2. Название переменной должно содержать информацию о ее назначении, не допускается использование названий из одной буквы, за исключением счетчиков в циклах (i, j, k) и переменных, хранящих размер входных данных (n, m).

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

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

4. Имена переменных и функций должны содержать только маленькие буквы. Слова разделяются символами подчёркивания. Примеры: name, name_with_several_words_in_it. Допускается также записывать начальные буквы каждого слова с заглавной буквы, при этом символы подчёркивания не ставятся: wordLength.

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