Керівництов з написання коду на 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
Імпорти завжди поміщаються на початку файлу, відразу після коментарів до модуля і рядків документації, і перед оголошенням констант. Імпорти повинні бути згруповані в наступному порядку:
Імпорти зі стандартної бібліотеки;
Імпорти сторонніх бібліотек;
Обсяги імпорту модулів поточного проекту.
Вставляйте порожній рядок між кожною групою імпорту.
Вказуйте специфікації __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
.