Приветствуем, коллеги.
Расскажем вам о нашей долгожданной новинке – «Python для инженерных задач». Эту книгу написал уважаемый Евгений Ильин @jenyay, кандидат технических наук, преподаватель Московского Авиационного Института. В основу книги легли его университетские наработки, объём более чем внушительный – 672 страницы. Тем не менее, поскольку эта книга ориентирована на самую широкую аудиторию инженеров, мы решили выпустить её в серии «Самоучитель», из которой вам также может быть известен знаменитый «Компас-3D V 23» Анатолия Герасимова.
Как показывает практика, времена «давайте всё перепишем на Python» закончились, не успев начаться. В настоящее время язык Python обосновался в трёх основных нишах:
Фреймворки для бэкенда, «серверный Python». К ним примыкают относительно лаконичные скрипты и программы для «автоматизации рутинных задач». Здесь в нашем ассортименте особенно выделяется книга Владимира Дронова, новейшее издание которой называется «Django 5. Практика создания веб-сайтов на Python». Сюда же можно отнести «Сетевое программирование на Python» Джона Гэлбрайта и особенно ценную нам книгу Тима Питерса «Программирование бэкенда на Python. Практическое руководство».
Инструменты для машинного обучения и data science. Python стал де-факто стандартным языком для обслуживания искусственного интеллекта, статистики и обёрткой для всевозможных математических операций, лежащих в основе настолько разных предметных областей как компьютерное зрение и трейдинг. В этой категории предлагаем вам обратить внимание на вышедшую у нас книгу Серга Масиса «Интерпретируемое машинное обучение на Python», а также на второе издание самоучителя «Основы искусственного интеллекта в примерах на Python» Андрея Постолита.
Наконец, Python стал для многих первым учебным я��ыком, открывшим путь в программирование. В этой категории мы можем похвастаться замечательной книгой Игоря Лазаревского «Мама, не отвлекай. Я Python учу!», бестселлером Нилаба Нисчала «Python — это просто. Пошаговое руководство по программированию и анализу данных», а также некоторыми другими книгами, где Python используется в иллюстративных целях, например, книгой Павла Довгалюка @Dovgaluk «Базовые алгоритмы. Реализация на Python и C++ на примере классических игр».
Среди всех этих книг для программистов нам не хватало серьёзной книги для инженеров. Теперь этот пробел заполнен, и мы рады познакомить вас с книгой «Python для инженерных задач».

Оглавление книги выложено у нас на сайте.
Автор книги Евгений Ильин — доцент кафедры «Радиофизика, антенны и микроволновая техника», входящей в состав института «Радиоэлектроника, инфокоммуникации и информационная безопасность» Московского авиационного института (национального исследовательского университета). Ведет курсы «Языки программирования в задачах радиофизики» и «Моделирование электродинамических задач численными методами». Сфера интересов и компетенций — языки программирования: Python, Rust и Java; электродинамика, антенны и устройства СВЧ, а также алгоритмы для их моделирования.
Немного об истории и мотивации проекта
Сложно представить, что обсуждение будущей книги у нас с Евгением завязалось ещё в начале 2024 года. Тогда он поделился со мной таким видением будущего проекта (о самой книге мы ещё не знали ничего, даже потенциального количества страниц).
С одной стороны я работаю преподавателем в вузе, читаю курс про моделирование электродинамических задач. Мы там со студентами используем Python, numpy и matplotlib. С расчётом на это я и писал статьи про Matplotlib. Помимо этого в вузе участвую в инженерных работах, связанных с моделированием антенн, и ещё участвую в одном программерском проекте на Java.
Что касается книг, то иногда мелькала мысль написать что-то про использование Python для инженерных задач, но я эту идею пока отгоняю и пытаюсь хотя бы статьи на сайт писать.
Евгений при этом замечательно видел собственную целевую аудиторию, что сильно упростило нам задачу:
Вот у меня в этом семестре как раз будет группа, которая совсем не знает Python, и их нужно будет ему научить с расчётом на то, что они будут не программистами, а инженерами.
И далее:
С этой же группой в следующем семестре я буду заниматься алгоритмами моделирования, и там как раз будем активно использовать numpy и строить графики, но всё равно хотелось им более углубленно рассказать
В тот период у меня вырисовывалась схожая идея — сделать книгу из разряда «элементарный Python для data science». Подобную книгу я нашёл в закромах издательства «Manning», называется она «Well-Grounded Data Analyst» и наполнена примерами на Python, в основном с привлечением библиотеки Pandas. Она уже переведена и отредактирована нами, выйдёт в начале будущего года. Однако, поскольку её выход в оригинале постоянно откладывался, и дождались мы её только в марте 2025 года, идея заколлабиться с Евгением показалась мне подарком судьбы. Действительно, язык Python для научных вычислений рассмотрен на русском языке неоднократно и многогранно, а сфера интересов Евгения (электродинамика, радиофизика) открывала возможность дать вам свежий и непредвзятый взгляд на использование библиотек Python в совершенно новой прикладной области. Мы решили не отходить от проверенной композиции «устанавливаем Python, знакомимся с библиотеками, реализуем проекты», что в итоге и привело нас к формату самоучителя.
Что в книге
Поскольку Евгений, не отступая от своего курса и пополняющегося фидбека, смог рассмотреть в книге значительно больше базовых тем, именно с них она и начинается. В первых главах рассказано об основах языка Python, элементарных скриптах, описаны принципы объектно-ориентированного программирования, а также разъяснены отличия между интерпретируемыми и компилируемыми языками программирования. (Для любопытных: недавно в моём блоге с IT-переводами я вывесил текст о том, почему компилировать Python не только можн��, но и очень интересно).
Остальной объём первой части самоучителя (около 100 страниц) посвящён важнейшим структурам данных, применяемых в современном Python: множествам, спискам, кортежам, массивам, словарям и пр.
Вторая часть будет наиболее интересна инженеру, как желающему, так и вынужденному погружаться в тонкости программирования. Здесь господин Ильин подробно рассказывает о типизации, о создании классов, методов и функций. Глава 14 служит введением в объектно-ориентированное программирование (здравствуйте, наследование и полиморфизм!), а наиболее полезна инженеру (в этой части книги) глава 16. Здесь рассказано о подключении сторонних библиотек и о системе pip, предназначенной в Python для работы с пакетами. Также уделено внимание таким прикладным темам, как обработка исключений (глава 19) запись и чтение файлов (главы 20 и 21), регулярные выражения (глава 23), тестирование (глава 24) и даже работе с командной строкой (глава 22) – последнее, впрочем, для читателя не должно быть сюрпризом.
Наконец, «добавленная ценность» этой книги сосредоточена в третьей части, которая постоянно увеличивалась в процессе подготовки рукописи и вместила главы 25-31, простирающиеся на добрые 200 страниц. Она называется «Python для научных вычислений». Здесь автор изложил тот материал, который в его учебные курсы в основном не попал. Он рассказывает о библиотеках NumPy (операции с числами), Matplotlib (графическая визуализация данных), Pandas (работа с табличными данными) и даже о библиотеке SciPy (научные вычисления на Python). SciPy мы попросили добавить на последней итерации, видя, что книга уже претендует на энциклопедичность. Наконец, автор вкратце рассказывает, как работать с интерактивными средами разработки, здесь хочется отдельно поблагодарить его за главу 31 об IPython и ноутбуках Jupyter.
Заключение
Почти двухлетняя работа над этим компендиумом утомила и удовлетворила нас как многократная пересборка могучего стимпанкового паровоза с составом бронированных вагонов, хотя, меня, как руководителя этого проекта, не раз посещали приступы малодушия «давайте хотя бы третью часть отцепим и вынесем в отдельную книгу». В итоге – никакого Keras, Tensorflow, никаких байесовских химер и заигрывания с читателем «автоматизируй календарь, прикрути к нему гироскоп гороскоп – ура, вот ты и стал программистом». Рискнём утверждать, что ни в одной из книг, выпущенных в уходящем году, язык Python не был так близок к верстаку, манометру и продакшену, как в самоучителе Ильина. Может быть, эта книга и не пригодится вам в качестве новогоднего подарка, но нас это полностью устраивает. Она — не подарок, а инструмент, и не новогодний, а всесезонный. Впрочем, более лёгкие, модные и прикольные книги по Python у нас воспоследуют. Следите за анонсами у нас на сайте.
