Синтаксис
словосочетания, предложения, пунктуация

Введение
Ошибка → SyntaxError
Синтаксис изучает процессы порождения речи: сочетаемость и порядок слов в предложении. В Python синтаксис определяет, какие последовательности лексем являются правильными.

Основные синтаксические единицы

Единица
В Python
Аналог в русском
Выражение
user_name, 5, age > 18
Член предложения (словосочетание)
Инструкция
a = 5, print("Привет")
Простое предложение
Блок кода
Группа инструкций с отступом
Абзац / сложное предложение

Фиксированный порядок элементов

В естественных языках порядок слов может меняться, изменяя оттенки смысла. Например, в русском языке «Я подарю книгу тебе» и «Я тебе подарю книгу» означают одно и то же, но с разной интонационной окраской.

В Python порядок слов (лексем) строго фиксирован. Неправильный порядок приводит к ошибке SyntaxError. Рассмотрим основные правила.
Присваивание
Сначала записывается имя переменной, затем знак = (равно), затем значение.
# Правильно
age = 25

# Неправильно — так нельзя
25 = age # SyntaxError
Именование переменной подчиняется правилам графемики, морфемики и лексикологии (алфавит, регистр, ключевые слова)
Условные конструкции if-elif-else
Условие записывается в строгом порядке: if, затем условие, затем двоеточие. Блок кода, который выполняется при истинности условия, пишется с новой строки и с отступом.
if temp < 0:
print("Холодно")
Если нужно добавить ещё одно условие, используется elif (сокращение от «else if»). Если ни одно условие не подошло — else.
if температура < 0:
print("Холодно")
elif температура < 10:
print("Прохладно")
else:
print("Тепло")
elif и else пишутся ровно под if (без отступа), а их блоки — с отступом.
Цикл for
Записывается так: for, затем имя переменной, затем ключевое слово in, затем последовательность (список, строка, диапазон чисел), затем двоеточие. Блок кода — с новой строки и с отступом.
for student in group:
print(student)
Читается как: «для каждого студента в группе выполнить» — прямая аналогия с естественным языком.
Цикл while
Записывается так: while, затем условие, затем двоеточие. Блок кода — с новой строки и с отступом. Цикл выполняется, пока условие истинно.
while count > 0:
print(count)
count = count - 1
Читается как: «пока счётчик больше нуля, выполнять».
Определение функции (def)
Записывается так: def, затем имя функции, затем круглые скобки с параметрами (или пустые), затем двоеточие. Блок кода (тело функции) — с новой строки и с отступом.
def calculate_average(numbers):
total = sum(numbers)
return total / len(numbers)
Имя функции должно быть глаголом или глагольным словосочетанием, отражающим действие, отглагольным существительным
Импорт модуля
Два основных способа:
# Способ 1: импорт всего модуля
import math

# Способ 2: импорт конкретной функции/объекта из модуля
from math import sqrt
Первый способ похож на фразу «импортировать модуль математики». Второй — «из модуля математики импортировать квадратный корень».
Вызов метода
Метод вызывается через точку: сначала объект, затем точка, затем имя метода, затем круглые скобки с аргументами (или пустые).
# Объект.метод(аргументы)
user_name.upper() # перевести строку в верхний регистр
numbers.append(5) # добавить элемент в список
Точка здесь — аналог родительного падежа в русском языке (engine.power → «мощность двигателя»).
Арифметические операции
Знак операции ставится между двумя операндами (числами или переменными), как в обычной математике.
sum = a + b
difference = x - y
product = length * width
quotient = total / count
Сравнения и логические операторы
Операторы сравнения (==, !=, <, >, <=, >=) и логические операторы (and, or, not) записываются между операндами.
# Проверка на равенство
if a == b:
print("a равно b")

# Сравнение
if age >= 18:
print("Совершеннолетний")

# Логическое И
if temperature > 0 and temperature < 100:
print("Вода в жидком состоянии")
В Python, как и в русском языке, от порядка слов может зависеть смысл. Сравните:
В русском языке: «Казнить нельзя помиловать» — смысл меняется в зависимости от того, где поставить запятую.
В Python: x = 5  и  5 = x— второе просто невозможно, это ошибка.
Фиксированный порядок слов делает Python строгим, но и предсказуемым. Ошибку в порядке легко обнаружить и исправить. При ошибке интерпретатор Python выводит ошибку
SyntaxError: invalid syntax