Байланысты: Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )
Глава 8 • Функции
Стилевое оформление функций
В стилевом оформлении функций необходимо учитывать некоторые подробности.
Функции должны иметь содержательные имена, состоящие из букв нижнего реги-
стра и символов подчеркивания. Содержательные имена помогают вам и другим
разработчикам понять, что же делает ваш код. Эти соглашения следует соблюдать
и в именах модулей.
Каждая функция должна быть снабжена комментарием, который кратко поясняет,
что же делает эта функция. Комментарий должен следовать сразу же за определе-
нием функции в формате строк документации. Если функция хорошо документи-
рована, другие разработчики смогут использовать ее, прочитав только описание.
Конечно, для этого они должны доверять тому, что код работает в соответствии
с описанием, — но, если знать имя функции, какие аргументы ей нужны и какое
значение она возвращает, они смогут использовать ее в своих программах.
Если для параметра задается значение по умолчанию, слева и справа от знака ра-
венства не должно быть пробелов:
def
имя_функции (
параметр _0,
параметр _1='
значение_по_умолчанию ')
Те же соглашения должны применяться для именованных аргументов в вызовах
функций:
имя_функции (
значение _0,
параметр _1='
значение ')
Документ PEP 8 (
https://www.python.org/dev/peps/pep-0008/ ) рекомендует ограни-
чить длину строк кода 79 символами, чтобы строки были полностью видны в окне
редактора нормального размера. Если из-за параметров длина определения функ-
ции превышает 79 символов, нажмите Enter после открывающей круглой скобки
в строке определения. В следующей строке дважды нажмите Tab, чтобы отделить
список аргументов от тела функции, которое должно быть снабжено отступом
только на один уровень.
Многие редакторы автоматически выравнивают дополнительные строки параме-
тров по отступам, установленным в первой строке:
def
имя_функции (
параметр _0,
параметр _1,
параметр _2,
параметр _3,
параметр _4,
параметр _5):
тело функции ...
Если программа или модуль состоит из нескольких функций, эти функции можно