Как оформить программу на питон

3. Руководство по оформлению программ на Python¶

Author: Guido van Rossum
Оригинальная статья на английском: http://www.python.org/doc/essays/styleguide.html Python Style Guide
Перевод выполнен компанией «Калкулэйт».

Общие замечания¶

Это руководство — о логике программирования. Важно следовать этому руководству в стиле программы.
Ещё более важна логичность всего проекта. Логичность в пределах одного модуля или функции — важнейшее требование. Но важнее всего знать, когда отступить от стиля и логичности. Иногда это руководство просто неприменимо. Если вы затрудняетесь, посмотрите на примеры и решите, что лучше.

Разметка¶

Отступы¶

Используйте параметры по умолчанию: 4 пробела на один отступ. Для очень старого кода, в который вы не желаете сильно вмешиваться, можете можете продолжать использовать отступы в 8 символов.

Табуляция или пробелы?¶

Никогда не смешивайте пробелы с табуляцией. Самый популярный способ отступов в Питоне — использовать только пробелы. Второй самый популярный способ — только табуляторы. Код, в котором отступы пробелами и табуляторами перемешаны, надо перевести к отступам пробелами. Когда вы запускаете Питон с параметром -t , то при использовании смешанных отступов выдаются предупреждения; если задать опцию -tt , то предупреждения станут ошибками. Использование этих опций очень рекомендуется!

Максимальная длина строки¶

До сих пор существует много устройств, длина строки в которых ограничена 80-ю символами. Поэтому, пожалуйста, установите максимальную длину для всех строк 79 символов.

Наиболее предпочтительный путь для переноса длинных строк — использование встроенного в Питон продолжения строк внутри скобок. Если это необходимо, вы можете использовать дополнительную пару скобок вокруг выражения, но иногда обратный слэш выглядит лучше. Убедитесь, что для перенесенных строк установлен правильный отступ:

class Rectangle(Blob): def __init__(self, width, height, color='black', emphasis=None, highlight=0): if width == 0 and height == 0 and \ color == 'red' and emphasis == 'strong' or \ highlight > 100: raise ValueError, "sorry, you lose" if width == 0 and height == 0 and (color == 'red' or emphasis is None): raise ValueError, "I don't think so" Blob.__init__(self, widt, height, color, emphasis, highlight)

Пустые строки¶

Отделяйте функции верхнего уровня и объявления классов двумя пустыми строками. Определения методов внутри класса отделяются одной пустой строкой. Дополнительно пустые строки можно использовать для отделения групп родственных функций. Пустые строки можно опускать внутри связки из одностроковых определений (набора абстрактных методов).
Если пустые строки используются для отделения методов в классе, то вставляйте также пустую строку между строкой «class. » и определением первого метода.
Используйте пустые строки в функциях для указания логических блоков, но не переусердствуйте.

Читайте также:  Php вырезать часть строки регулярное выражение

Пробелы в выражениях и операторах¶

if x == 4 : print x , y ; x , y = y , x.
if x == 4: print x, y; x, y = y, x.

Источник

Оцените статью