1. Введение в программирование
• Что такое программирование? ..................................................................... 8
• Зачем учить программирование? ................................................................. 8
• Почему Python? .............................................................................................. 9
2. Установка и настройка Python
• Установка Python на Windows ................................................... 1 О
• Установка Python на macOS .... .. .............. .................................. 1 О
• Установка Python на Linux ....................................................... 11
• Настройка среды разработки (IDE) ......................... .................... 12
3. Основы Python
• Первая программа на Python .. ..... .. ........ ...... ...... .... ... ... .... .. ...... .. 13
• Переменные и типы данных ...................................................... 14
• Операторы и выражения ......................... ..... ................... ......... 15
• Ввод и вывод данных ............ .... ... ............. ................... .... ....... 17
4. Управляющие конструкции
• Условные операторы (if, elif, else) ...... ..................................... .. .18
• Циклы (for, while) ........................ .......................................... 19
• Примеры использования циклов и условий ..................... .............. 21
5. Функции
• Определение и вызов функций ................. .............. ................... 22
• Аргументы и параметры функций ...... ...... .... .. ......................... ... 23
1
• Возвращение значений из функций ............................................. 24
• Примеры функций .. ............... .. ........ ... ................... .. ............ ... 25
6. Структуры данных
• Списки (lists) ......... ..... ... ............ ....... ... ................ .... ............. 27
• Кортежи (tuples) ..................................................................... 28
• Словари ( dictionaries) ............. .............. ..... ... ..... .... ..... ... ....... ... 29
• Множества (sets) .................................................................... 30
• Примеры работы со структурами данных ..................................... 31
7. Работа с файлами
• Чтение и запись файлов ............. ........ .... ....... ........................... 33
• Работа с текстовыми файлами .... .................... ...... . ........ ... ...... ... 33
• Работа с бинарными файлами ........................ .... ....................... 34
• Примеры работы с файлами .... .................................................. 35
8. Обработка ошибок и исключений
• Типы исключений .................... .................................... .......... 37
• Обработка исключений с помощью try-except ............................... 39
• Создание собственных исключений ........................................... .40
• Примеры обработки ошибок .................. ......... ......................... .41
9. Модули и пакеты
• Импортирование модулей ........... ............................ ......... ....... .43
• Создание собственных модулей ................................... . ... ..... .... 44
2
• Установка сторонних модулей ................................................... 44
• Примеры использования модулей ............................................. .45
10. Объектно-ориентированное программирование (ООП)
• Классы и объекты .................................................................. 48
• Наследование ....... ... .................... ... .............. .... ..................... 49
• Инкапсуляция ....................................................................... 50
• Полиморфизм ........................................................................ 51
• Примеры ООП ...................................................................... 52
11. Работа с библиотеками
• Библиотека NumPy для научных вычислений ........... . .................... 55
• Библиотека Pandas для работы с данными .................................... 56
• Библиотека Matplotlib для визуализации данных ........................... 57
• Примеры использования библиотек ............................................ 58
12. Веб-разработка с Python
• Введение в веб-разработку ........ ... ............ ..... ....... .... ...... .. .... .... 60
• Фреймворк Flask ................................... ..... ................ .... ........ 61
• Фреймворк Django .................................................................. 62
• Примеры веб-приложений ......... ..................... ... .................... ... 64
13. Работа с базами данных
• Введение в базы данных .......................................................... 68
• Работа с SQLite ..................................................................... 70
3
• Работа с PostgreSQL ............................................................... 72
• Примеры работы с базами данных ......... .. .. ....... .... ... ........... .... ... 73
14. Проекты и практические задания
• Проект 1: Калькулятор ............................................................ 78
• Проект 2: Игра "Угадай число" .................................................. 79
• Проект 3: Веб-скрейпер ........................................................... 80
• Проект 4: Веб-приложение "Список дел" ... ...... ..... ............ ........... 82
15. Заключение
• Что дальше? ................................................................................................. 85
• Основные языки программирования ......................... ................... 87
• Пример сайта на Python .................... ... ...... ........ .... .................. 91
16. Области применения Python
Веб-разработка:
Фреймворки : Django, Flask, Pyramid ....... ................... ..... .... .... .. ........ 102
Применение: Создание веб-сайтов, веб-приложений, API ....................... 108
Научные вычисления и анализ данных:
Библиотеки: NumPy, Pandas, SciPy ................................................... 110
Применение: Обработка и анализ больших объемов данных, научные
исследования, статистический анализ ................................................ 115
Машинное обучение и искусственный интеллект:
Библиотеки: TensorFlow, Keras, scikit-learn, PyTorch .... ............ ........ ..... 118
Применение: Разработка моделей машинного обучения, нейронных сетей,
систем компьютерного зрения и обработки естественного языка ... .. ........ 124
4
Автоматизация задач:
Библиотеки: Selenium, BeautifulSoup, Scrapy ........ ... .... .... ... .... .... ... ...... 126
Применение: Веб-скрейпинг, автоматизация рутинных задач, тестирование
программного обеспечения ............................................................ 131
Разработка мобильных приложений:
Фреймворки: Kivy, BeeWare .. .... .. ................... .. .... .. ..... . .......... ... ...... 132
Применение: Создание кроссплатформенных мобильных приложений для
Android и iOS .. ... ...... ............... ............ .... ..... .... ... .... .... ..... ........... 137
Разработка игр:
Библиотеки: Pygame, Panda3D ......................................................... 138
Применение: Создание 2D и 3D игр, симуляций .................................. 144
Кибербезопасность:
Библиотеки: Scapy, Requests .......... .. .............................. .................. 145
Применение: Сканирование сети, пентестинг, анализ уязвимостей .......... .149
Работа с базами данных:
Библиотеки: SQLAlchemy, Django ОRМ, SQLite ............. .. ..... .............. 151
Применение: У правление реляционными и нереляционными базами данных,
создание ОRМ-моделей ... ...... ................ .......... ....... .. ....... .... ....... ... 157
Обработка изображений и видео:
Библиотеки: OpenCV, PIL (Pillow) ................................ .... ............... 159
Применение: Обработка и анализ изображений, создание видеофильтров,
компьютерное зрение .................................................................... 165
(loT):
Библиотеки : MicroPython, CircuitPython .... ....... .... .... ..... .. .......... ......... 167
Применение: Разработка программного обеспечения для микроконтроллеров
и устройств IoT ........................... .. .. ................................. .... ....... 171
5
Финансовый анализ:
Библиотеки: Pandas, NumPy, SciPy ........ ...... .. .. ............. ..... ... ........... . 173
Применение: Анализ финансовых данных, моделирование рынков,
алгоритмическая торговля ................................... ........................... 1 79
Обработка естественного языка (NLP):
Библиотеки: NL ТК, SpaCy ...... .. .......... ..... ..... ............ .. . .................. 180
Применение: Анализ текста, обработка естественного языка, создание чат-
ботов ... ... ...... ..... .... ... ... ...... ...... ...... .. ......................................... 185
Образование и обучение:
Применение: Создание образовательных платформ, интерактивных учебных
материалов, симуляций .................................................................. 188
Биоинформатика:
Библиотеки: Biopython .................................................................. 195
Применение: Анализ биологических данных, геномика, протеомика ......... 197
Робототехника:
Библиотеки: ROS (Robot Operating System) ......................................... 199
Применение: Разработка программного обеспечения для роботов,
автоматизация робототехнических систем ........ ... .. .. ..... ...... ................ 202
Мультимедиа:
Библиотеки : PyDub, MoviePy ...... ... ............... .. ........ ........ ... ............ . 204
Применение: Обработка аудио и видео файлов, создание мультимедийных
приложений .................. .. ..... ......................... ........... . .................. 208
Геопространственные данные:
Библиотеки: GeoPandas, Shapely ...................................................... 21 О
Применение: Анализ геопространственных данных, создание карт и
геоинформационных систем .... ... ..... ... .............. .... .......... ................. 215
6
Сетевое программирование:
Библиотеки: Twisted, Asyncio .. ....... ... ...... .. .......... .. .... .......... .. .. ... ..... 216
Применение: Разработка сетевых приложений,
обработка асинхронных задач ......................................................... 221
Визуализация данных:
Библиотеки: Matplotlib, Seabom, Plotly ................. ... ................. .. ....... 222
Применение: Создание графиков и визуализаций для анализа данных ... ... 228
Автоматизация офисных задач:
Библиотеки: OpenPy XL, Pandas ... .. ... ......... ... ................................... 230
Применение: Обработка Ехсеl-файлов,
автоматизация отчетов и аналитики ............. .. ...... .. .... ....................... 235
17. Приложения
• Ресурсы для дальнейшего изучения ... .................. .. ................... 240
• Справочник по синтаксису Python ...... .. ........ .. ...... .... ...... .. ...... .. 241
• Полезные ссылки и ресурсы ................ ....... ....................... ...... 243
Эта книга охватывает широкий спектр тем, связанных с использованием Python для решения различных задач. Каждая глава посвящена отдельной области применения Python, предоставляя подробное описание библиотек, инструментов и примеров их использования. Изучение этих тем позволяет разработчикам, ученым и специалистам в различных областях эффективно использовать язык программирования Python для решения сложных задач и создания надежных и эффективных решений.