Керівництов з написання коду на Python#

Зовнішній вигляд коду#

Відступи#

Варто відзначити цікаву особливість Python. Він не містить операторних дужок (begin..end в Pascal або {..} в С), замість цього блоки виділяються відступами: пробілами, а вхід в блок з операторів здійснюється двокрапкою.

  • Використовуйте 4 пробіли на кожен рівень відступу.

  • Круглі/квадратні/фігурні дужки, що закривають вираз, в багаторядкових конструкціях можуть перебувати під першим символом(крім пробілу) останнього рядка списку

Наприклад:

my_list = [
    1, 2, 3,
    4, 5, 6,
    ]
my_list
[1, 2, 3, 4, 5, 6]
my_list = [
    1, 2, 3,
    4, 5, 6,
]
my_list
[1, 2, 3, 4, 5, 6]

Пробіли — найкращий спосіб зробити відступ.

Python 3 забороняє змішування табуляції і пробілів для відступів. Переважний спосіб перенесення довгих рядків є використання круглих, квадратних і фігурних дужок. Довгі рядки можуть бути розбиті на декілька рядків, загорнутих в дужки. Це краще використання зворотної косої межі для продовження рядка.

Імпорти#

Кожен імпорт, як правило, повинен бути на окремому рядку.

Правильно:

import os
import sys

Неправильно:

import sys, os

У той же час, можна писати так:

from subprocess import Popen, PIPE

Імпорти завжди поміщаються на початку файлу, відразу після коментарів до модуля і рядків документації, і перед оголошенням констант. Імпорти повинні бути згруповані в наступному порядку:

  1. Імпорти зі стандартної бібліотеки;

  2. Імпорти сторонніх бібліотек;

  3. Обсяги імпорту модулів поточного проекту.

Вставляйте порожній рядок між кожною групою імпорту. Вказуйте специфікації __all__ після імпорту.

Пробіли у виразах й інструкціях#

Уникайте використання пробілів в наступних ситуаціях:

  • безпосередньо всередині круглих, квадратних або фігурних дужках;

  • безпосередньо перед комою, крапкою з комою або двокрапкою;

  • відразу перед дужкою, яка відкриває список аргументів при виклику функції;

  • відразу перед дужкою, після якої слідує індекс або зріз.

Коментарі#

Коментарі, що суперечать коду, гірше, ніж відсутність коментарів. Завжди виправляйте коментарі, якщо міняєте код! Коментарі повинні бути закінченими реченнями. Якщо коментар — фраза або пропозиція, перше слово повинно бути написано з великої літери, якщо тільки це не ім’я змінної, яка починається з маленької літери (ніколи не змінюйте регістр змінної!). Якщо коментар короткий, можна опустити точку в кінці речення. Блок коментарів зазвичай складається з одного або більше абзаців, що складаються з повноцінних пропозицій, тому кожне речення має закінчуватися точкою.

Програмісти, які не говорять англійською мовою, будь ласка, пишіть коментарі англійською, якщо тільки ви не впевнені на 120%, що ваш код ніколи не будуть читати люди, які не знають вашого рідної мови.

Блоки коментарів#

Блок коментарів зазвичай пояснює код (весь, або тільки деяку частину), що йде після блоку, і повинен мати той же відступ, що і сам код. Кожен рядок такого блоку повинна починатися з символу # і одного пробілу після нього (якщо тільки сам текст коментаря не має відступу). Абзаци всередині блоку коментарів поділяються рядком, що складається з одного символу #.

Коментарі в одному рядку з інструкцією#

Намагайтеся рідше використовувати подібні коментарі. Такий коментар знаходиться в тому ж рядку, що і інструкція. “Врядковані” коментарі повинні відділятися принаймні двома пробілами від інструкції. Вони повинні починатися з символу # і пробіла.

Синтаксис#

Синтаксис мови Python, як і сама мова, дуже простий. Кінець рядка є кінцем інструкції (крапка чи крапка з комою не потрібна). Вкладені інструкції об’єднуються в блоки по величині відступів. Відступ може бути будь-яким, головне, щоб в межах одного вкладеного блоку відступ був однаковий. І про читаність коду не забувайте. Відступ в 1 пробіл, наприклад, не найкраще рішення. Використовуйте 4 пробіли. Вкладені інструкції в Python записуються відповідно до такого шаблону, коли основна інструкція завершується двокрапкою, слідом за якою розташовується вкладений блок коду, зазвичай з відступом під рядком основної інструкції.

Схема:

Основна інструкція:
    Вкладений блок інструкцій
Кілька спеціальних випадків

Іноді можливо записати кілька інструкцій в одному рядку, розділяючи їх крапкою з комою:

a = 1; b = 2; print (a, b)
1 2

Але не робіть цього! Пам’ятайте про легкість читання. Припустимо записувати одну інструкцію в декількох рядках. Достатньоїї укласти в пару круглих, квадратних або фігурних дужок:

if (a == 1 
    and b == 2): # Не забуваємо про двокрапку
    print ( 'spam' * 3)
spamspamspam

Тіло складеної інструкції може розташовуватися в тому ж рядку, що і тіло основної, якщо тіло складеної інструкції не містить складених інструкцій.

Приклад:

if b > a:
    print(a)
1

Отже, можна коротко резюмувати наступне:

  • Програма на Python являє собою послідовність команд для уведення даних, обчислень і інших операцій з даними і виведення результатів.

  • Однорядкові коментарі починаються зі знака фунта #, багаторядкові — починаються і закінчуються трьома лапками, """ чи '''.

  • Щоб присвоїти значення змінній використовується знак =, а для порівняння ==.

  • Для збільшення значення змінної, або додавання до рядка використовується оператор +=, а для зменшення -=. Всі ці операції можуть взаємодіяти з більшістю типів.

  • Python не вимагає явного оголошення змінних, є регістровозалежим (змінна var не є еквівалентною змінним Var або VAR — це три різні змінні).

  • Python — це мова з суворою динамічною типізацією. Це означає, що тип змінної трактується в залежності від присвоєного значення. Неявні перетворення типів мова Python не допускає, тобто, наприклад, не можна додати рядок '123' і число 456.