Краткая информация
Здесь собран полный список статей по синтаксису и основам Python. От установки инструментов до тонкостей работы с типами данных. Статьи расположены по порядку изучения — от простого к сложному.
Вы можете на данной странице ознакомиться не только со всем списком статей, но и перейти на нужную статью.
Синтаксис и основы Python
Переменные и типы данных (25 статей)
- Установка Python и VS Code: подготовка рабочего места
- Что такое переменная в Python: первое знакомство
- Числа в Python: int и float
- Строки (str): кавычки, конкатенация и экранирование
- Логический тип (bool): True и False
- Преобразование типов: int(), str(), float()
- Тип None: что это и зачем нужен
- Как узнать тип переменной: type() и isinstance()
- Изменяемые и неизменяемые типы данных: в чём разница
- Множественное присваивание: a, b = 1, 2
- Динамическая типизация в Python: плюсы и минусы
- 10 задач на переменные и типы данных (для новичков)
- 5 задач на преобразование типов (с решениями)
- Почему 0.1 + 0.2 не равно 0.3? Проблема точности float
- Цепочка присваиваний: как работает a = b = c = 5
- Топ-5 ошибок с переменными и типами данных
- Шпаргалка по типам данных в Python (быстрый справочник)
- Мини-проект: калькулятор индекса массы тела (ИМТ)
- Мини-проект: программа для перевода секунд в часы и минуты
- Топ-10 вопросов о переменных и типах данных на собеседовании
- Как сократить код с помощью множественного присваивания (5 примеров)
- Python vs JavaScript: переменные и типы данных
- Обзор модуля types: аннотации и проверка типов
- Карта типов данных Python (инфографика)
- 5 лучших статей о переменных в Python (наша подборка)
Условия и циклы (24 статей)
- Что такое условный оператор if: первое знакомство
- Операторы сравнения: ==, !=, >, <, >=, <=
- Логические операторы: and, or, not
- Конструкция if-else: ветвление на два направления
- Конструкция elif: множественные условия
- Тернарный оператор: условия в одну строку
- Вложенные условия: if внутри if
- Что такое цикл while: синтаксис и простые примеры
- Бесконечные циклы и как их остановить
- Цикл for: итерация по спискам, строкам, диапазонам
- Функция range(): генерация последовательностей чисел
- break: досрочный выход из цикла
- continue: пропуск итерации
- else в циклах: что делает и зачем нужен
- Вложенные циклы: таблицы умножения и матрицы
- 10 задач на условные операторы (для новичков)
- 10 задач на циклы (для новичков)
- Почему не работают условия? Частые ошибки с if
- Бесконечный цикл: как случайно его создать и как исправить
- Шпаргалка по условиям и циклам в Python
- Мини-проект: угадай число (игра с if и while)
- Мини-проект: таблица умножения через for
- Топ-10 вопросов о циклах на собеседовании
- Python vs JavaScript: условия и циклы
Функции (28 статей)
- Что такое функция в Python: зачем нужны и как работают
- Синтаксис def: создание и вызов функции
- Аргументы функции: позиционные и именованные
- return: возврат значения из функции
- Функции без return: что возвращают и зачем нужны
- Области видимости переменных: локальные и глобальные
- Глобальная переменная global: когда и зачем нужна
- Значения аргументов по умолчанию
- Переменное количество аргументов: *args и **kwargs
- Lambda-функции: анонимные функции в одну строку
- Рекурсия: функции, вызывающие сами себя
- Документирование функций: docstring и комментарии
- Аннотации типов (type hints) в функциях
- Передача по значению vs по ссылке (что изменяется)
- 10 задач на функции (для новичков)
- 5 задач на рекурсию (с решениями)
- Почему функция возвращает None? Частые ошибки
- Рекурсия или цикл: что быстрее и безопаснее
- Замыкания (closures) в Python
- Шпаргалка по функциям в Python
- Мини-проект: калькулятор с функциями
- Мини-проект: проверка пароля (функция валидации)
- Топ-10 вопросов о функциях на собеседовании
- Как сократить код с помощью lambda
- Функциональное программирование в Python: map, filter, reduce
- Python vs JavaScript: функции
- Обзор модуля functools: partial, lru_cache
- Карта областей видимости LEGB (инфографика)
Списки, словари, кортежи (30 статей)
- Что такое список (list): создание, индексы, срезы
- Добавление элементов: append(), insert(), extend()
- Удаление элементов: remove(), pop(), del, clear()
- Поиск в списке: index(), count(), in
- Сортировка списка: sort() и sorted()
- Копирование списка: copy(), срезы, list() и их отличия
- Генераторы списков (list comprehensions): синтаксис и примеры
- Что такое кортеж (tuple): неизменяемый список
- Зачем нужны кортежи, если есть списки
- Что такое словарь (dict): пары ключ-значение
- Добавление и изменение элементов в словаре
- Удаление из словаря: del, pop(), popitem(), clear()
- Методы словарей: keys(), values(), items(), get(), update()
- Итерация по словарю: как перебрать пары ключ-значение
- Генераторы словарей (dict comprehensions)
- Вложенные структуры: список словарей, словарь списков
- 10 задач на списки (для новичков)
- 10 задач на словари (для новичков)
- Как быстро поменять местами ключи и значения в словаре
- Почему нельзя изменять список во время итерации
- Список или кортеж: что выбрать и когда
- Шпаргалка по спискам и словарям в Python
- Мини-проект: список дел (To-Do) на списках
- Мини-проект: телефонная книга на словарях
- Топ-10 вопросов о коллекциях на собеседовании
- Как сделать срез списка с шагом: [start:stop:step]
- Collections: deque, Counter, OrderedDict, defaultdict
- Python vs JavaScript: массивы и объекты
- Карта коллекций Python (инфографика)
- 5 лучших статей о списках и словарях
Работа с файлами (22 статьи)
- Что такое файл в Python: режимы чтения и записи
- Функция open(): как открыть файл
- Менеджер контекста with: безопасная работа с файлами
- Чтение файлов: read(), readline(), readlines()
- Запись в файл: write(), writelines()
- Работа с CSV: модуль csv (чтение и запись)
- Работа с JSON: json.dump(), json.load()
- Работа с текстовыми файлами (TXT): примеры
- Работа с бинарными файлами: ‘rb’, ‘wb’
- Модуль os: переименование, удаление, проверка существования файлов
- Модуль pathlib: современная работа с путями
- 10 задач на работу с файлами (для новичков)
- Ошибка FileNotFoundError: как избежать и обработать
- Почему файл не закрывается? Проблемы без with
- Шпаргалка по работе с файлами в Python
- Мини-проект: программа для заметок (сохранение в файл)
- Мини-проект: парсинг логов и создание отчёта
- Топ-10 вопросов о файлах на собеседовании
- CSV или JSON: что использовать для хранения данных
- Обзор библиотеки pathlib (почему лучше os.path)
- Python vs других языков: работа с файлами
- 5 лучших статей о работе с файлами
Обработка исключений (18 статей)
- Что такое исключение в Python и зачем их обрабатывать
- Конструкция try-except: перехват ошибок
- Конкретные исключения: ValueError, TypeError, KeyError и другие
- Блок else в try-except: когда выполняется
- Блок finally: действия, которые выполняются всегда
- raise: как вручную вызвать исключение
- Создание своих исключений: классы исключений
- Иерархия исключений: BaseException, Exception и их наследники
- 10 задач на обработку исключений (для новичков)
- Как не писать пустой except: антипаттерны
- Исключения или проверка условий: что лучше (LBYL vs EAFP)
- Шпаргалка по обработке исключений в Python
- Мини-проект: надёжный калькулятор с обработкой ошибок
- Мини-проект: валидация ввода пользователя
- Топ-10 вопросов об исключениях на собеседовании
- Разбор частых ошибок: NameError, TypeError, AttributeError
- Python vs других языков: обработка ошибок
- 5 лучших статей об исключениях
Генераторы списков и словарей (14 статей)
- Что такое генератор списка (list comprehension)
- Синтаксис генератора списков: [выражение for элемент in итератор]
- Условия в генераторах списков: if и if-else
- Вложенные генераторы списков
- Генераторы словарей (dict comprehensions)
- Генераторы множеств (set comprehensions)
- 10 задач на генераторы списков (для новичков)
- Генератор или цикл: что быстрее и когда использовать
- Как не перегрузить память с помощью генераторов
- Шпаргалка по генераторам списков и словарей
- Мини-проект: фильтрация и преобразование данных через генераторы
- Топ-10 вопросов о генераторах на собеседовании
- Когда генератор списка не нужен (антипримеры)
- 5 лучших статей о генераторах списков
Декораторы (18 статей)
- Что такое декоратор в Python: первое знакомство
- Простейший декоратор без аргументов
- Сохранение метаданных: @wraps из functools
- Декораторы с аргументами
- Цепочка декораторов: применение нескольких
- Класс как декоратор (call)
- 10 задач на декораторы (для среднего уровня)
- Декоратор @staticmethod, @classmethod, @property
- Как работают декораторы под капотом (разбор кода)
- Частые ошибки при написании декораторов
- Шпаргалка по декораторам
- Мини-проект: декоратор для замера времени выполнения
- Мини-проект: декоратор для retry при ошибках
- Как Flask использует декораторы для маршрутизации (разбор)
- Топ-10 вопросов о декораторах на собеседовании
- Декораторы в стандартной библиотеке: @dataclass, @lru_cache
- Декораторы vs замыкания: что и когда
- 5 лучших статей о декораторах
Итераторы и генераторы (yield) (16 статей)
- Что такое итератор в Python (протокол iter и next)
- Создание своего итератора через класс
- Что такое генератор и yield: первое знакомство
- Генератор против списка: экономия памяти
- Генераторные выражения (генератор в круглых скобках)
- Бесконечные генераторы: как их сделать и использовать
- Цепочки генераторов: передача данных между yield
- Метод send() и yield как двусторонний канал
- 10 задач на генераторы (для среднего уровня)
- Itertools: бесконечные итераторы, комбинации, перестановки
- Почему генератор можно пройти только один раз
- Шпаргалка по итераторам и генераторам
- Мини-проект: генератор чисел Фибоначчи
- Мини-проект: чтение больших файлов через генератор
- Топ-10 вопросов о генераторах на собеседовании
- 5 лучших статей об итераторах и генераторах
Работа с датой и временем (datetime) (18 статей)
- Что такое модуль datetime: знакомство
- Класс date: работа с датами
- Класс time: работа с временем
- Класс datetime: дата и время вместе
- Класс timedelta: разница между датами
- Форматирование дат: strftime() и strptime()
- Сравнение дат и арифметика с timedelta
- Часовые пояса: timezone, pytz, zoneinfo
- Таймеры и задержки: time.sleep(), datetime.now() в циклах
- 10 задач на datetime (для новичков)
- Почему datetime.now() медленный и как ускорить
- Работа с timestamp: fromtimestamp(), timestamp()
- Шпаргалка по модулю datetime
- Мини-проект: календарь напоминаний
- Мини-проект: таймер обратного отсчёта
- Топ-10 вопросов о datetime на собеседовании
- Библиотека arrow: альтернатива datetime
- 5 лучших статей о работе с датами в Python
Регулярные выражения (re) (20 статей)
- Что такое регулярные выражения: зачем нужны
- Модуль re: поиск с re.search()
- Поиск всех совпадений: re.findall() и re.finditer()
- Замена текста: re.sub() и re.subn()
- Разделение строки: re.split()
- Метасимволы: . ^ $ * + ? { } [ ] \ | ( )
- Символьные классы: \d, \w, \s, \D, \W, \S
- Группировка: ( ) и обратные ссылки
- Именованные группы: (?P<name>…)
- Флаги: re.IGNORECASE, re.MULTILINE, re.DOTALL
- 10 задач на регулярные выражения (для новичков)
- 5 сложных задач на regex (с решениями)
- Почему (.?) а не (.): жадные и ленивые квантификаторы
- Самые частые ошибки в регулярных выражениях
- Шпаргалка по регулярным выражениям в Python
- Мини-проект: извлечение всех email из текста
- Мини-проект: валидация телефонных номеров
- Топ-10 вопросов о regex на собеседовании
- re vs встроенные методы строк: что быстрее
- 5 лучших статей о регулярных выражениях
Общие сведения
| Подменю | Статей |
|---|---|
| Переменные и типы данных | 25 |
| Условия и циклы | 24 |
| Функции | 28 |
| Списки, словари, кортежи | 30 |
| Работа с файлами | 22 |
| Обработка исключений | 18 |
| Генераторы списков и словарей | 14 |
| Декораторы | 18 |
| Итераторы и генераторы | 16 |
| Дата и время | 18 |
| Регулярные выражения | 20 |
| ВСЕГО | ~234 статьи |







