Шпаргалка

Шпаргалка по Python: синтаксис, команды и встроенные функции в таблицах

Обновлено: · Skillaria.Top

Синтаксис Python строится на отступах вместо фигурных скобок: блок после двоеточия сдвигается на 4 пробела. Основа — переменные без объявления типа, условия if/elif/else, циклы for и while, функции def, а также встроенные функции print, len, range, input, type и методы строк, списков и словарей.

Эта шпаргалка по Python собирает на одной странице всё, что нужно держать под рукой в первые месяцы: синтаксис Python, циклы, встроенные функции, методы строк, списков и словарей и команды терминала. Каждая таблица — короткий справочник с рабочими примерами, которые можно сразу вставить в REPL.

Основы синтаксиса Python

Главная особенность языка — блоки задаются отступами, а не скобками. После строки с двоеточием (if, for, def, class) следующие строки сдвигаются на 4 пробела. Смешивать табы и пробелы нельзя — получите IndentationError.

КонструкцияПримерПояснение
Комментарий# текствсё после # до конца строки игнорируется
Переменнаяage = 25тип не объявляется, его определяет значение
Множественное присваиваниеa, b = 1, 2распаковка; обмен значений: a, b = b, a
Выводprint("Привет", name)аргументы разделяются пробелом
Вводs = input("Имя: ")всегда возвращает строку
f-строкаf"{name}: {price:.2f}"подстановка выражений и формат
Аннотация типаcount: int = 0подсказка для IDE и проверщиков, не проверяется при запуске
Пустой блокpassзаглушка, где синтаксис требует тело
Импортfrom math import sqrtподключение модуля или имени из него

Типы данных

ТипЛитералИзменяемый
int42, 1_000_000нет
float3.14, 1e-3нет
boolTrue, Falseнет
str"текст", 'текст', """много строк"""нет
list[1, 2, 3]да
tuple(1, 2), (1,)нет
dict{"a": 1}да
set{1, 2}, пустое — set()да
NoneTypeNone—

Операторы

ГруппаОператорыПример → результат
Арифметика+ - * / // % **7 // 2 → 3, 7 % 2 → 1, 2 ** 10 → 1024
Сравнение== != < > <= >=1 < x < 10 — цепочка сравнений
Логикаand or notx or "по умолчанию"
Принадлежностьin, not in"a" in "abc" → True
Идентичностьis, is notx is None
Присваивание+= -= *= /=, :=if (n := len(s)) > 10: ...

Условия и сопоставление

if score >= 90:
    grade = "A"
elif score >= 70:
    grade = "B"
else:
    grade = "C"

status = "взрослый" if age >= 18 else "ребёнок"   # тернарный оператор

match command:
    case "start":
        print("Запуск")
    case "stop" | "exit":
        print("Остановка")
    case _:
        print("Неизвестная команда")

Ложными считаются False, None, 0, пустая строка и пустые коллекции, поэтому вместо if len(items) > 0 пишут просто if items.

Циклы в Python: синтаксис for и while

Цикл for

Синтаксис цикла for в Python: for переменная in последовательность: и тело с отступом. Цикл перебирает любой итерируемый объект — строку, список, словарь, файл, range.

for i in range(5):              # 0 1 2 3 4
    print(i)

for i in range(10, 0, -2):      # 10 8 6 4 2
    print(i)

for i, fruit in enumerate(["яблоко", "груша"], start=1):
    print(i, fruit)

for name, score in zip(names, scores):
    print(name, score)

for key, value in prices.items():
    print(key, value)

Цикл while

attempts = 3
while attempts > 0:
    password = input("Пароль: ")
    if password == "secret":
        print("Вход выполнен")
        break
    attempts -= 1
else:
    print("Попытки закончились")   # выполняется, если не было break
КомандаЧто делает
breakдосрочно выходит из цикла
continueпереходит к следующей итерации
else у циклавыполняется, если цикл завершился без break
range(stop), range(start, stop, step)последовательность чисел, stop не включается

Генераторы списков (comprehensions)

squares = [x ** 2 for x in range(10)]
evens = [x for x in numbers if x % 2 == 0]
lengths = {word: len(word) for word in words}
unique = {c.lower() for c in text}
total = sum(x * x for x in range(100))   # генераторное выражение

Функции

def greet(name: str, greeting: str = "Привет") -> str:
    """Возвращает приветствие."""
    return f"{greeting}, {name}!"

def total(*args, **kwargs):
    return sum(args), kwargs

square = lambda x: x * x
print(greet("Анна"))                 # Привет, Анна!
print(greet("Анна", greeting="Хай"))  # Хай, Анна!
ЭлементСмысл
def f(a, b=1)параметр со значением по умолчанию
*argsлюбое число позиционных аргументов (кортеж)
**kwargsлюбое число именованных аргументов (словарь)
returnвозврат значения; без него функция вернёт None
lambda x: ...короткая анонимная функция в одно выражение
global, nonlocalизменение переменной из внешней области видимости

Не используйте изменяемое значение по умолчанию вроде def f(items=[]): список создаётся один раз и копится между вызовами. Правильно — items=None и внутри if items is None: items = [].

Встроенные функции Python

Встроенные функции Python доступны без импорта. Это основные функции, которые встречаются почти в каждом скрипте.

ФункцияЧто делаетПример → результат
print()выводит значенияprint(1, 2, sep="-") → 1-2
input()читает строку с клавиатурыint(input())
len()длина коллекции или строкиlen("abc") → 3
type()тип объектаtype(3.0) → <class 'float'>
isinstance()проверка типаisinstance(5, int) → True
int() float() str() bool()преобразование типовint("42") → 42
list() tuple() set() dict()создание коллекцийlist("ab") → ['a', 'b']
range()диапазон чиселlist(range(3)) → [0, 1, 2]
enumerate()пары (индекс, элемент)list(enumerate("ab")) → [(0, 'a'), (1, 'b')]
zip()склеивает последовательности попарноlist(zip([1, 2], "ab")) → [(1, 'a'), (2, 'b')]
sum() min() max()сумма, минимум, максимумmax([3, 7, 1]) → 7
abs() round()модуль и округлениеround(3.14159, 2) → 3.14
sorted()новый отсортированный списокsorted(words, key=len, reverse=True)
reversed()итератор в обратном порядкеlist(reversed([1, 2])) → [2, 1]
map() filter()применить функцию / отфильтроватьlist(map(str, [1, 2])) → ['1', '2']
any() all()хотя бы один / все истинныall(x > 0 for x in nums)
open()открывает файлopen("a.txt", encoding="utf-8")
help() dir()справка и список атрибутовhelp(str.split), dir(list)
id() hash()идентификатор и хеш объектаhash("a")

Самый удобный python справочник всегда с собой — функция help() в REPL: help(dict) покажет все методы словаря с описанием, а dir(obj) — список доступных имён.

Методы строк

Синтаксис строк Python: строка неизменяема, каждый метод возвращает новую строку. Срезы работают так же, как у списков: s[1:4], s[::-1] — разворот.

МетодПример → результат
upper() lower()"Py".upper() → 'PY'
capitalize() title()"hello world".title() → 'Hello World'
strip() lstrip() rstrip()" hi \n".strip() → 'hi'
split(sep)"a,b,c".split(",") → ['a', 'b', 'c']
join(iterable)"-".join(["a", "b"]) → 'a-b'
replace(old, new)"кот".replace("к", "р") → 'рот'
find() index()"hello".find("l") → 2; если нет — -1 (у index — ошибка)
count()"banana".count("a") → 3
startswith() endswith()"file.py".endswith(".py") → True
isdigit() isalpha() isspace()"123".isdigit() → True
removeprefix() removesuffix()"test_a".removeprefix("test_") → 'a'
zfill() center() ljust()"7".zfill(3) → '007'
format()"{} + {}".format(1, 2) → '1 + 2'

Команды списка Python

Список — изменяемая упорядоченная коллекция. Большинство методов меняют список на месте и возвращают None, поэтому a = a.sort() — частая ошибка.

ОперацияЧто делаетПример
append(x)добавляет в конецa.append(4)
extend(iter)добавляет все элементыa.extend([5, 6])
insert(i, x)вставляет по индексуa.insert(0, "first")
remove(x)удаляет первое вхождение значенияa.remove(3)
pop(i)удаляет и возвращает элемент (по умолчанию последний)last = a.pop()
clear()очищает списокa.clear()
index(x)индекс первого вхожденияa.index("b")
count(x)число вхожденийa.count(1)
sort()сортирует на местеa.sort(key=str.lower)
reverse()разворачивает на местеa.reverse()
copy()поверхностная копияb = a.copy()
del a[i]удаление по индексу или срезуdel a[1:3]
Срезыa[start:stop:step]a[-1] — последний, a[:3] — первые три

Команды словаря Python

ОперацияЧто делаетПример
d[key]значение по ключу, нет ключа — KeyErrord["name"]
get(key, default)значение или запасноеd.get("age", 0)
d[key] = valueдобавить или изменитьd["city"] = "Казань"
keys() values() items()ключи, значения, парыfor k, v in d.items():
update()слить с другим словарёмd.update({"a": 1})
d1 | d2новый объединённый словарьmerged = defaults | user
pop(key, default)удалить и вернуть значениеd.pop("tmp", None)
popitem()удалить последнюю добавленную паруd.popitem()
setdefault(key, value)вернуть значение, а если ключа нет — создатьd.setdefault("tags", []).append("py")
key in dпроверка наличия ключаif "name" in d:
dict.fromkeys()словарь из ключей с одним значениемdict.fromkeys("abc", 0)
len(d), del d[key]размер и удалениеdel d["old"]

Кортежи и множества

ОперацияПример → результат
Распаковка кортежаx, y = (3, 4)
Добавить в множествоs.add(5), удалить — s.discard(5)
Объединение / пересечение{1, 2} | {2, 3} → {1, 2, 3}; {1, 2} & {2, 3} → {2}
Разность{1, 2} - {2} → {1}
Убрать дубли из спискаlist(dict.fromkeys(items)) — с сохранением порядка

Исключения и файлы

try:
    number = int(input("Число: "))
except ValueError as err:
    print("Это не число:", err)
else:
    print("Успех")
finally:
    print("Выполняется всегда")

with open("data.txt", "w", encoding="utf-8") as f:
    f.write("строка\n")

with open("data.txt", encoding="utf-8") as f:
    for line in f:
        print(line.rstrip())
ИсключениеКогда возникает
SyntaxError, IndentationErrorошибка в синтаксисе или отступах
NameErrorимя не определено (опечатка)
TypeErrorоперация с неподходящим типом: "1" + 1
ValueErrorправильный тип, но неверное значение: int("abc")
IndexError, KeyErrorнет такого индекса или ключа
FileNotFoundErrorфайл не найден
ZeroDivisionErrorделение на ноль

Классы

from dataclasses import dataclass

class Dog:
    def __init__(self, name: str):
        self.name = name

    def bark(self) -> str:
        return f"{self.name}: Гав!"

@dataclass
class Point:
    x: float
    y: float

print(Dog("Шарик").bark())   # Шарик: Гав!
print(Point(1, 2))           # Point(x=1, y=2)

Встроенные модули Python

Стандартная библиотека ставится вместе с интерпретатором — достаточно import.

МодульДля чегоПример
mathматематикаmath.sqrt(16) → 4.0
randomслучайные числаrandom.randint(1, 6), random.choice(items)
datetimeдата и времяdatetime.date.today()
pathlibпути и файлыPath("data").glob("*.csv")
os, sysсистема, переменные окружения, аргументыos.environ.get("HOME"), sys.argv
jsonчтение и запись JSONjson.loads(text), json.dumps(obj, ensure_ascii=False)
csvтаблицы CSVcsv.DictReader(f)
collectionsCounter, defaultdict, dequeCounter("banana").most_common(1) → [('a', 3)]
itertoolsкомбинации и цепочки итераторовitertools.chain(a, b)
reрегулярные выраженияre.findall(r"\d+", s)
timeпаузы и замер времениtime.sleep(1), time.perf_counter()
asyncioасинхронный кодasyncio.run(main())

В Python 3.15 появился ленивый импорт (PEP 810): lazy import pandas as pd откладывает загрузку модуля до первого обращения к нему, и скрипт с тяжёлыми зависимостями стартует заметно быстрее.

Команды Python в терминале

Отдельная группа запросов «python команды» — это команды для запуска интерпретатора и установки библиотек. На Windows вместо python3 обычно пишут python или py.

КомандаЧто делает
python3 --versionпоказать версию
python3открыть интерактивную консоль REPL (выход — exit())
python3 script.pyзапустить файл
python3 -c "print(2 + 2)"выполнить одну строку
python3 -m venv .venvсоздать виртуальное окружение
source .venv/bin/activate / .venv\Scripts\activateактивировать окружение (Linux, macOS / Windows)
python3 -m pip install requestsустановить пакет
pip list, pip freeze > requirements.txtсписок пакетов и их сохранение
pip install -r requirements.txtустановить зависимости из файла
python3 -m http.server 8000простой веб-сервер в текущей папке
uv init, uv add requests, uv run main.pyпроект, зависимость и запуск через менеджер uv

Частые ошибки начинающих

  • Сравнение через = — в условии нужно ==; одиночное = — это присваивание.
  • Забытое двоеточие после if, for, def даёт SyntaxError.
  • Сложение строки и числа: "Возраст: " + 25 — ошибка, пишите f"Возраст: {25}".
  • Изменение списка во время обхода — перебирайте копию for x in a[:] или собирайте новый список.
  • input() возвращает строку — для арифметики оберните в int() или float().

Итог

Синтаксис Python держится на отступах, двоеточиях и небольшом наборе конструкций: условия, циклы for и while, функции, классы. Добавьте к ним два десятка встроенных функций и методы строк, списков и словарей — и вы закроете большую часть повседневных задач. Сохраните шпаргалку, а когда таблицы станут привычными, переходите к модулям и асинхронности; всё это по шагам разобрано на практике в курсе «Python 3.15: от новичка до профи».

Частые вопросы

Сколько пробелов ставить для отступа в Python?

По стандарту PEP 8 — 4 пробела на уровень. Главное — одинаково во всём блоке и без смешивания с табами.

Чем список отличается от кортежа?

Список изменяемый, его можно дополнять и сортировать на месте; кортеж неизменяемый, поэтому подходит как ключ словаря и для фиксированных наборов значений.

Как посмотреть все методы объекта прямо в Python?

Вызовите dir(obj) для списка имён и help(obj) для описания — например, help(str) покажет все методы строк.

Чем sort() отличается от sorted()?

Метод list.sort() сортирует сам список и возвращает None, а функция sorted() возвращает новый список и работает с любой итерируемой коллекцией.

Нужна ли точка с запятой в конце строки?

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