Рекомендации по оформлению кода
Когда мы пишем программы, важно не только то, что делает код, но и то, как он выглядит. Хорошо оформленный код легче читать, понимать, отлаживать и поддерживать. Для языка Python существует официальное руководство по стилю кода под названием PEP 8 (от англ. Python Enhancement Proposal – Предложение по развитию Python).
PEP 8 представляет собой обширный документ, включающий большое количество рекомендаций по стилю и оформлению кода на Python. Количество конкретных пунктов и разделов в документе варьируется, но общая структура состоит примерно из нескольких десятков основных разделов и множества пунктов.
- Базовые правила отступов и форматирования.
- Советы по использованию пробелов и длин строк.
- Важность аккуратного комментирования и соблюдения регистра.
Детали остальных пунктов можно изучить позже по мере накопления опыта и углубления знаний. Такой подход обеспечивает лучшее усвоение материала и постепенное развитие профессиональных навыков программирования на Python.
Отступы: основа структуры Python
В Python отступы играют ключевую роль в определении блоков кода. Блок кода – это группа инструкций, которые логически связаны и выполняются как единое целое. Начало блока обозначается увеличением отступа, а конец – возвратом к предыдущему уровню отступа.
Согласно PEP 8, для отступов следует использовать 4 пробела.
Рассмотрим пример, где отступы определяют, какие действия выполняются, если условие истинно:
candy_count = 10
if candy_count > 0:
print("В вазе еще есть конфеты.")
print("Можете взять одну.")
candy_count = candy_count - 1
Здесь две строки print(...)
и строка candy_count = ...
находятся внутри блока кода, который выполняется только в том случае, если значение переменной candy_count
больше 0. Отступ в 4 пробела четко показывает, какие инструкции принадлежат этому блоку.
При определении отступов крайне не рекомендуется использование табуляции, так как это может вызвать проблемы совместимости между разными средами разработки. Например, некоторые редакторы отображают размер табуляции иначе, чем другие, что может вызвать путаницу. Чтобы избежать подобных проблем, пользуйтесь исключительно пробелами.
Кроме того, категорически запрещается смешивать пробелы и табуляцию. Даже малейшее нарушение правил отступов приведёт к синтаксической ошибке IndentationError (с англ. – Ошибка отступа), поскольку Python строго следит за структурой кода именно благодаря отступам.
Длина строки: до 79 символов
По возможности ограничивайте длину каждой строки до 79 символов. Длинные строки ухудшают восприятие и затрудняют чтение кода на небольших мониторах или устройствах с низким разрешением экрана.
Если строка становится слишком длинной, перенесите её с помощью скобок:
citate = ("Когда потеряна истинная добродетель, является добродушие; когда же"
"потеряна справедливость, является приличие. Правила приличия — это"
"только подобие правды и начало всякого беспорядка.")
Таким образом, разбивая длинные выражения на несколько строк, вы улучшаете читаемость своего кода.
Порядок инструкций: одна строка — одна инструкция
В Python каждая отдельная команда (инструкция) обычно располагается на новой строке:
print("Привет, мир!")
print("Как дела?")
Хотя существует способ размещения нескольких инструкций на одной строке через точку с запятой:
print("Привет, мир!"); print("Как дела?")
Но такой стиль крайне не рекомендуется для разработки программ, так как ухудшает читаемость. Это может быть допустимо лишь в редких случаях, например, при работе в интерактивном режиме для очень коротких команд.
Кавычки: выбирайте один стиль
В Python для обозначения строк можно использовать как одинарные '
, так и двойные "
кавычки. С точки зрения интерпретатора, разницы между ними нет:
print("Привет, мир!")
print('Привет, мир!')
Оба варианта выведут на экран одно и то же сообщение.
Удобство использования разных видов кавычек проявляется, когда внутри строки необходимо использовать сами кавычки:
print('Сегодня мы сказали: "Привет, мир!"')
print("Он ответил: 'Все отлично!'")
PEP 8 не устанавливает строгих правил относительно выбора между одинарными и двойными кавычками. Главное – придерживаться одного стиля в рамках всего вашего проекта. Если вы начали использовать для строк двойные кавычки, то старайтесь использовать их и дальше.
Регистрозависимость: print ≠ PRINT
Python является регистрозависимым языком. Это означает, что строчные и прописные буквы в именах переменных, функций и других ключевых словах воспринимаются как разные символы.
Например, функция для вывода текста на экран называется print()
. Если вы напишете Print()
или PRINT()
, Python не сможет распознать эту команду и выдаст ошибку.
1. Как следует размещать инструкции в коде?
2. Какие кавычки следует использовать в Python?
3. Что будет, если для вывода сообщения на экран вместо print()
написать PRINT()
?
4. Что такое блок кода?
5. Сколько пробелов рекомендуется использовать для отступа?