Перспективы использования языка «Python» в решении прикладных задач - Студенческий научный форум

XIV Международная студенческая научная конференция Студенческий научный форум - 2022

Перспективы использования языка «Python» в решении прикладных задач

Грачев В.М. 1, Марченко С.С. 1
1Волгоградский государственный аграрный университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

В настоящее время перед программистами лежит целый ассортимент языков программирования, обладающих множеством различных свойств, в связи с чем бывает довольно сложно определиться, какой из них выбрать для решения той или иной задачи.

Особое место среди языков программирования занимает Python, представленный миру Гвидо ван Россум (Guido van Rossum) в 1991 году [1-3]. Это высокоуровневый, мощный, гибкий язык программирования с открытым исходным кодом, который достаточно легко изучить. Он не сложен в обработке и имеет мощные библиотеки для манипулирования и анализа данных, понятен для программирования как новичкам, так и любому с опытом работы в Matlab, C / C ++, Java или Visual Basic.

Целью работы - определение на основе данных литературных источников области и границ применимости языка программирования «Python».

Материалы

Литературные источники [1-16] были отобраны из результатов поискового запроса «язык программирования Python» в научной электронной библиотеке Elibrary.

Обзор литературных данных

Согласно данным источников [2, 3] язык Python разработан на основе нескольких языков программирования, в том числе: ABC; Modula-3; C, C++; Lisp.

Из языка АВС он «унаследовал» использование отступов, вместо скобочек, для группировки операторов и относительную простоту и лёгкость понимания кода, из языка Modula-3 , как и Java, - конструкцию исключений try и except, а также систему модулей и пакетов (хотя сама Modula-3 была не первым языком, в котором применялись модули). Языки C, C++ «передали» Python некоторые синтаксические конструкции, а Lisp – отдельные черты функционального программирования.

В итоге, после долгой и продолжительной работы Россума получился высокоуровневый, скриптовый PL (PL – Procedural Language) язык программирования.

Python является мультиплатформенным (Windows/Linux/MacOS) языком программирования, что обусловливает интеграцию значительного числа пользователей в единое сообщество. За время своего существования (более 20 лет) в ходе своего логического развития в языке Рython сформировалось две ветви, называющиеся Рython 2 и Рython 3 [1, 2]. Последняя является будущим языка, а Рython 2 когда-нибудь исчезнет. Для начинающих пользователей рекомендуется сразу использовать ветвь Рython 3 [1].

Python поддерживает несколько стилей программирования. Он не принуждает разработчика придерживаться определенной парадигмы, поддерживает объектно-ориентированное и процедурное программирование [4]. Кроме того, существует и ограниченная поддержка функционального программирования. Также язык характеризуется чётким и последовательным синтаксисом, продуманной модульностью и масштабируемостью, благодаря чему исходный код написанных на Python программ легко читаем [4].

К достоинствам данного языка также можно отнести возможность проверки на ошибки отдельных участком программы, а не только всей целиком; интергируемость с такими языками как С++ и С; высокая скорость разработки [3, 5, 6]. Так как объём исходного кода на языке Python меньше, чем на языках С++ или Java, и обычно составляет треть от их объёма, то объём ввода данных с клавиатуры меньше, и меньше количество времени на отладку и трудозатраты на сопровождение таких программ. Также программы на Python запускаются мгновенно, минуя зачастую длительные этапы компиляции кода, необходимые в тех же С++ и Java, что ещё больше увеличивает производительность труда программиста. Создатели Python сделали упор на продуктивности разработчиков, работающих с кодом, а не на мощность самого кода.

Бесспорным преимуществом Python является большая стандартная библиотека; включающая огромное количество модулей под любые задачи [3, 5].

Библиотеки языка Python имеют средства для работы со многими сетевыми форматами и протоколами веб, что расширяет границы применисти данного языка программирования. Ниже представлена библиотека языка - набор модулей, функций, облегчающих специфические операции с использованием языка программирования [1,3].

1. Нейросетевая библиотека Keras - на сервере использует Theano и TensorFlow, также предлагает некоторые из лучших функций для компиляции моделей, обработки наборов данных и визуализации графиков, исследования глубокого обучения.

2. Техническая вычислительная библиотека NumPy - имеет открытый, бесплатный исходный код, который облегчает вычисление сложных математических задач, простой в использовании и легкий в кодировании. Модуль SciPy опирается на NumPy и расширяет его возможности алгоритмами из разных областей науки, математики и инженерии. Например, SciPy позволяет проводить статистический анализ данных и их интерполяцию, анализировать спектры, работать с разными форматами данных и многое другое.

3. Библиотека для обработки изображений Pillow – обеспечивает улучшение качества изображения, размытия, яркость, контура, прозрачности и поддержку многих форматов изображений.

4. Библиотека PYGLET предназначена для разработки игр. Это библиотека многоплатформенного кадрирования и мультимедии для Python, используется для визуально насыщенных приложений. Поддерживает все форматы видео, звука и изображений.

5. Requests - библиотека HTTP, направлена на то, чтобы сделать запросы HTTP проще и удобнее. Автоматически декодирует контент, поддерживает прокси-серверы и выполняет аутентификацию.

6. Библиотека машинного обучения TensorFlow предназначена для решения ряда задач, связанных с потоком данных и дифференцируемым программированием. Поддерживает обучение нескольких нейронных сетей и нескольких графических процессоров для создания эффективных моделей в крупных системах. Используется для нейронных сетей [3].

7. Библиотеки PyQt5 и QtDesigner. PyQt5 - это набор Python библиотек для создания графического интерфейса на базе платформы Qt5 от компании Digia. PyQt – это библиотека Python с открытым исходным кодом для виджет-инструментария Qt, который также функционирует как кроссплатформенная среда разработки приложений.

8. Графическая библиотека Matploltlib позволяет создавать графику публикационного качества: простые графики, гистограммы, круговые диаграммы, «ящики с усами», рисунки в изолиниях с послойной окраской и многие другие. Поддерживается возможность создания рисунка, состоящего из нескольких графиков или диаграмм (поддержка subplots). Все элементы рисунка (толщина и частота делений, их цвет, размер и тип шрифта подписей, прозрачность линий и т. д.) могут быть настроены пользователем.

При создании рисунков поддерживаются как форматы растровой графики (jpeg, png, tiff), так и векторной (pdf, eps, svg). Можно задавать параметры размера рисунка и его dpi. Стоит отметить свободное отображение математических формул, представленных в коде системы компьютерной верстки LaTex.

Несмотря на значительный список достоинств, язык прграммирования Python не лишен некоторых недостатоков [7]. Так, например, при разработке программ с повышенным требованием к производительности, Python может существенно проигрывать по части скорости компилированным языкам программирования, таким как C/C++, Java, Go. Однако, это никак не отражается на востребованности языка.

Существует индекс популярности языков программирования PyPL, который показывает, как часто учебные материалы по конкретному языку программирования искали в поисковой системе Google. Согласно [1] в 2013 году Рython стал «языком года», показав самый высокий годовой прирост индекса PyPL среди таких языков, как Java, PHP, С++, R и других.

Анализ литературы показал, что Рython используется для решения широкого круга задач [1, 8-16].

Так, А.А.Шипо продемонстрировал возможность оценки цветопередачи источников света путём анализа спектра с применением языка программирования Python, В.В.Бурков и И.В.Бантыш показали эффективность использования языка программирования Python для решения задач математического моделирования электромеханических системах [9]. Показана возможность использования Python в среде 3D-моделирования Cinema 4D [10], при проведении теплотехнически расчетов [11], при обработке сертификата электронной подписи [12]. Python предоставляет огромные возможности для решения задач, возникающих в сфере научного изучения гидрометеорологической информации [1].

Интересно и необычно применение Python для анализа художественных текстов [15], что помогло определить коэффициент их лексического разнообразия, сравнить соотношение информативных и неинформативных слов в текстах Эмерсона, Дикинсон и По. Такой подход позволил расширить понимание особенностей творчества авторов с лингвистической точки зрения. Использование современных систем компьютерного анализа текстов позволило решить лингвистические задачи значительно быстрее, чем с помощью традиционных литературоведческих приемов и методик. Нельзя не упомянуть популярность Python для машинного обучения [16] с использованием библиотек Scikit-learn (в основном), NumPy, SciPy, NLTK.

Кроме того, Intel, Qualcomm, Cisco и IBM, применяют Python для тестирования ПО. NASA, Los Alamos, JPL и другие применяют язык для научных вычислений [8]. Python используется для создания массивно масштабируемых веб-приложений, таких как YouTube. Большая часть внутренней инфраструктуры Google работает на Python [8].. Такие компании, как Disney, Sony Dreamworks и Lucasfilm ILM в значительной степени полагаются на Python для работы с массовыми скоплениями компьютерной графики сервера для получения изображений для фильмов. Согласно индексу TIOBE, Python является одним из наиболее используемых языков программирования в мире, по рейтингу он находится выше, чем Perl, Ruby и JavaScript [8].

Заключение

Таким образом, анализ литературных источников показал, что Python предоставляет огромные возможности для решения самых разнообразных задач. Работа с различными форматами данных, обработка данных, их анализ и визуализация, создание автоматизированных технологий – все это может быть сделано при помощи одного языка программирования Рython.

Простота изучения и широкая поддержка сообществом делает Рython очень привлекательным для изучения. Распространение и внедрение языка программирования Рython в повседневную исследовательскую работу позволяет сделать исследования более наукоемкими и наглядными.

Python является одним из лидеров в сегменте разработки веб-приложений, при этом он укрепляет свои позиции в среде программистов. Язык имеет множество реализаций заточенных для решения различных задач на любых платформах.

Список литературы

Шабанов, П. А. Python: возможности и перспективы в гидрометеорологии / П. А. Шабанов // Труды Всероссийского научно-исследовательского института гидрометеорологической информации - Мирового центра данных. – 2015. – № 179. – С. 81-87.

Голошубова, О. М. Python: происхождение, преимущества и перспективы / О. М. Голошубова, В. Ю. Наумов // Инновационные, информационные и коммуникационные технологии. – 2016. – № 1. – С. 38-40.

Осмонова, Б. М. Обзор языка программирования Python / Б. М. Осмонова // Постулат. – 2021. – № 1(63).

Бухаров, Т. А. Обзор языка программирования Python и его библиотек / Т. А. Бухаров, А. Р. Нафикова, Е. А. Мигранова // Colloquium-journal. – 2019. – № 3-1(27). – С. 23-25.

Ибодов, Х. Б. Основные современные языки программирования / Х. Б. Ибодов, Р. Д. Худяков, В. В. Ермолаева // Тенденции развития науки и образования. – 2019. – № 50-1. – С. 51-53. – DOI 10.18411/lj-05-2019-15.

Васильева, К. Н. Преимущество языка программирования Python / К. Н. Васильева // Академия педагогических идей Новация. Серия: Студенческий научный вестник. – 2019. – № 1. – С. 72-74.

Степанова, А. С. Конкурентоспособность языка высокого уровня Python / А. С. Степанова, Е. А. Волова // World science: problems and innovations : сборник статей XXII Международной научно-практической конференции : в 2 ч., Пенза, 30 июня 2018 года. – Пенза: «Наука и Просвещение» (ИП Гуляев Г.Ю.), 2018. – С. 71-73.

Михайлов, А. А. Область применимости языка Python / А. А. Михайлов // NovaInfo.Ru. – 2018. – Т. 1. – № 89. – С. 10-14.

Кизянов, А. О. Анализ программных средств, реализующих язык программирования Python / А. О. Кизянов, Д. В. Лучанинов // Постулат. – 2016. – № 8(10). – С. 8.

Пермяков, А. А. Python в среде 3D-моделирования Cinema 4D / А. А. Пермяков, Л. Ю. Забелин // Обработка информации и математическое моделирование: Материалы Российской научно-технической конференции, Новосибирск, 26–27 апреля 2017 года. – Новосибирск: Сибирский государственный университет телекоммуникаций и информатики, 2017. – С. 248-251.

Корнилов, А. И. Перспективы использования языка «Питон» при проведении теплотехнических расчетов / А. И. Корнилов, С. В. Петерсон // Научная дискуссия: вопросы технических наук. – 2017. – № 1(41). – С. 12-17

Агулова, К. Н. Возможности языка Python при обработке сертификата электронной подписи / К. Н. Агулова // Материалы и методы инновационных научно-практических исследований и разработок: сборник статей Международной научно-практической конференции, Калуга, 28 октября 2019 года. – Калуга: Общество с ограниченной ответственностью "ОМЕГА САЙНС", 2019. – С. 31-33.

Исрапилов, Ш. А. Python в различных сферах применения / Ш. А. Исрапилов, С. А. Альтигов, Т. А. Чинчаев // Фундаментальные и прикладные научные исследования: актуальные вопросы, достижения и инновации : сборник статей Международной научно-практической конференции, Уфа, 27 декабря 2020 года. – Уфа: Общество с ограниченной ответственностью "ОМЕГА САЙНС", 2020. – С. 10-12.

Нгуен, М. Т. Декомпозиционный метод Данцига-Вульфа решения транспортной задачи и его реализация на языке программирования Питон / М. Т. Нгуен, Т. П. Фомина // Качество. Инновации. Образование. – 2013. – № 10(101). – С. 58-61.

Черепанова, Е. М. Обработка лингвистических ресурсов на языке программирования Питон (на материале произведений Р. У. Эмерсона, Э. Дикинсон, Э. По) / Е. М. Черепанова, Р. Г. Мифтахова // Доклады Башкирского университета. – 2020. – Т. 5. – № 1. – С. 50-54. – DOI 10.33184/dokbsu-2020.1.10.

Введение в машинное обучение и его применение на Python / И. И. Кушалиева, М. М. Ахмарова, Л. И. Кушалиева, О. М. Минаев // Актуальные вопросы физико-математического образования: Материалы межрегиональной студенческой научно-практической конференции, Грозный, 29 апреля 2021 года. – Грозный: Чеченский государственный педагогический университет, ИП Овчинников Михаил Артурович (Типография Алеф), 2021. – С. 460-464.

Просмотров работы: 284