Python
- 1. Введение в Python: где и зачем используется язык
- 2. Установка Python и настройка рабочего окружения
- 3. Инструменты для разработки: редакторы кода и IDE
- 4. Объявление переменных и правила наименования
- 5. Базовые типы данных в Python: числа, строки, булевы значения
- 6. Арифметические операции: сложение, деление, остаток и др.
- 7. Соблюдение стандарта PEP8: читаемость и стиль кода
- 8. Работа с числами: int, float, операции и функции
- 9. Ввод и вывод данных: функции input() и print()
- 10. Списки (List): создание и базовые операции
- 11. Методы списков: изменение, сортировка, поиск и др.
- 12. Словари (Dict): создание и работа с парами ключ–значение
- 13. Методы словарей: доступ, обновление, удаление и др.
- 14. Кортежи (Tuple): неизменяемые коллекции данных
- 15. Множества (Set) и их методы: объединение, пересечение и др.
- 16. Условные конструкции: if, elif, else в практике
- 17. Логические операции и выражения в Python
- 18. Цикл for: перебор последовательностей
- 19. Цикл while: повторение до выполнения условия
- 20. Управление циклами: операторы break и continue
- 21. Использование блока else после циклов
- 22. Функции: определение, вызов и область видимости
- 23. Аргументы функций: позиционные и именованные
- 24. Значения по умолчанию и порядок аргументов
- 25. Возвращение значений из функций с return
- 26. Передача переменного количества аргументов: *args и **kwargs
- 27. Строки: создание, индексация и базовые операции
- 28. Методы строк: поиск, замена, изменение регистра и др.
- 29. Форматирование строк: f-строки, .format() и %
- 30. Приведение типов данных: преобразование между типами
- 31. Примитивные и ссылочные типы данных: различия
- 32. Копирование объектов: поверхностное и глубокое
- 33. Интернирование строк и особенности хранения в памяти
- 34. Хеширование данных и hash-функции в Python
- 35. Встроенные функции Python: часть 1 (len, range, type, и др.)
- 36. Встроенные функции Python: часть 2 (map, filter, zip, и др.)
- 37. Генераторы списков: краткий синтаксис создания списков
- 38. Генераторы словарей: создание словарей в одну строку
- 39. Итераторы: понятие, цикл for, next() и iter()
- 40. Генераторы: yield, ленивые вычисления и память
- 41. Замыкания (Closures): функции с внутренним состоянием
- 42. Декораторы: создание и применение обёрток для функций
- 43. Импорт и использование модулей
- 44. Создание собственных модулей и повторное использование кода
- 45. Управление зависимостями: pip, virtualenv, requirements.txt
- 46. Работа с текстовыми файлами (txt): чтение и запись
- 47. Работа с CSV-файлами: чтение, запись, модуль csv
- 48. Работа с Excel-файлами: библиотека openpyxl
- 49. Обработка исключений: try, except, else, finally
- 50. Регулярные выражения в Python (модуль re)
- 51. Работа с JSON-данными: чтение, запись, преобразование
- 52. HTTP-запросы с помощью библиотеки requests
- 53. Структурное сопоставление (match-case) в Python 3.10+
- 54. Отладка кода: print, breakpoints, режим Debug
- 55. Многопоточное программирование: основы и примеры
- 56. Многопроцессорное программирование: параллелизм в действии
- 57. Создание и распространение пакетов Python
- 58. Работа с датами и временем: модуль datetime
- 59. Работа с путями и файлами: os и pathlib
- 60. Основы тестирования кода: unittest и pytest
- 61. Введение в ООП: основные понятия — классы, объекты, атрибуты, методы
- 62. Определение классов: ключевое слово class, конструктор __init__
- 63. Создание экземпляров классов: инициализация объектов
- 64. Атрибуты класса и экземпляра: разница и области видимости
- 65. Методы экземпляра: self и работа с внутренним состоянием объекта
- 66. Инкапсуляция: публичные, защищённые и приватные атрибуты
- 67. Использование свойств (property): геттеры, сеттеры и делитеры
- 68. Декораторы @property, @setter, @deleter: управление доступом к атрибутам
- 69. Наследование: создание подклассов и переопределение методов
- 70. Множественное наследование: порядок разрешения методов (MRO)
- 71. Полиморфизм: переопределение методов и работа с разными типами
- 72. Абстрактные классы и методы: ABC и @abstractmethod
- 73. Статические методы: @staticmethod и их использование
- 74. Методы класса: @classmethod и работа с классом как с аргументом
- 75. Композиция и агрегация: альтернатива наследованию
- 76. Дандер-методы: __str__, __repr__, __len__, __add__ и другие
- 77. Перегрузка операторов: реализация собственного поведения через дандер-методы
- 78. Работа с контекстными менеджерами: with, __enter__, __exit__
- 79. Декораторы классов: изменение поведения классов с помощью обёрток
- 80. Метаклассы: создание классов программно, type и собственные метаклассы
- 81. Итераторы и итерируемые объекты в ООП: __iter__, __next__
- 82. Генераторы в классах: yield внутри методов
- 83. Работа с файлами через классы: инкапсуляция логики
- 84. Работа с исключениями в ООП: пользовательские типы ошибок
- 85. Работа с модулями и пакетами в ООП-коде: структура проекта
- 86. Паттерны проектирования в Python: Singleton, Factory, Strategy
- 87. Миксины: повторное использование функциональности без множественного наследования
- 88. Dataclasses: упрощение создания классов данных (Python 3.7+)
- 89. Slots в классах: оптимизация памяти и ограничение атрибутов
- 90. Модуль typing и аннотации типов в ООП: Type Hints
- 91. Работа с JSON и сериализация объектов: to_dict, from_dict
- 92. Работа с базами данных через ООП: ORM (SQLAlchemy, Django ORM)
- 93. Введение в асинхронность: async/await, event loop
- 94. Асинхронные функции: async def, await и работа с корутинами
- 95. Асинхронный ввод-вывод: aiohttp, asyncio, async for, async with
- 96. Работа с потоками: threading, GIL и ограничения
- 97. Работа с процессами: multiprocessing и параллелизм
- 98. Асинхронное программирование vs многопоточность и многопроцессорность
- 99. Параллельная обработка данных: concurrent.futures, ThreadPoolExecutor, ProcessPoolExecutor
- 100. Асинхронные генераторы и итераторы
- 101. Futures и задачи в asyncio: создание, ожидание, отмена
- 102. Работа с сокетами: TCP/UDP клиенты и серверы на Python
- 103. Работа с файлами и сериализацией: pickle, shelve, marshal
- 104. Работа с архивами: zipfile, tarfile, gzip
- 105. Работа с логами: модуль logging и настройка вывода
- 106. Работа с регулярными выражениями в реальных задачах
- 107. Локализация и интернационализация: gettext, datetime, locale
- 108. Работа с графикой: Pillow, рисование, фильтрация, обрезка
- 109. Работа с PDF: генерация, чтение, объединение
- 110. Работа с байт-кодом и внутренними механизмами Python
- 111. Работа с виртуальными окружениями: venv, пакетный менеджер pip и его команды
- 112. Типизация и проверка типов: mypy, pyright