Язык программирования Python

Краткая справка

Python - язык программирования, созданный нидерландским программистом Гвидо Ван Россумом, использовавшим для него некоторые идеи из языка ABC, в создании которого он также принимал непосредственное участие. Первая версия была опубликована в начале 1991 года и с тех пор активно развивается при поддержке open source сообщества, а также самого Гвидо, которого в шутку называют “Великодушным пожизненным диктатором”.

Python (произносится как “пайтон”, но в русскоязычной среде чаще всего говорят просто “питон”) изначально был назван в честь известного тогда комедийного шоу “Летающий цирк Монти Пайтона” и не имел отношения к змеям. Однако, судя по эмблеме на сайте python.org и иконкам в IDE, змеи смотрятся гораздо более органично, чем телевизионное шоу.

В декабре 2008 года вышла версия Python 3 и это при том, что одновременно с этим существовала версия Python 2. Их синтаксис отличался и программы разных версий, чаще всего, оказывались несовместимыми. Однако, так как на тот момент уже было написано достаточно много серьезных проектов на второй версии, то создатель языка решил, что обе ветви будут существовать параллельно несколько лет. Постепенно этот срок был продлен до 2020 года.

Философия Python

Ознакомиться с философией Python Вы можете набрав в интерпретаторе команду “import this”. Вы увидите небольшой текст, называемый “Дзен Питона”, автором которого считают Тима Петтерса. Если вкратце, то он гласит о том, что красивое лучше чему уродливое, а простое лучше чем сложное и так далее. Этим, возможно, и объясняется то, что в питоне нет фигурных скобок, которые так часто можно увидеть в других языках. Вместо них используются отступы (пробелы или табуляция). Это позволяет программисту не отвлекаться на переключение между клавишами и уделять больше внимания разработке программы.

Python перенял многие полезные вещи из других языков, например, Java, С, Lisp, C++ и.т.д. Python разрабатывался Гвидо с поддержкой ООП, однако позволяет использовать также и другие парадигмы, например функциональную.

Где применяется Python

Чтобы ответить на это, проще спросить, где этот язык не используется. Ответ - практически нигде. Для веб-программирования можно использовать фреймворки Django, Flask и Tornado, на которых сделано множество сайтов. Python применяется при автоматизированном тестировании сайтов с помощью Selenium. Для программирования игр есть Pygame и Kivy, который позволяет программировать игры для Android и iOS. Для работы с 3D моделированием можно задействовать PyOpenGL. Для разработки кроссплатформенных десктопных приложений с графическим интерфейсом существует фреймворк PyQt. Для обработки изображений разработан Python OpenCV. Несколько лет назад даже появилась версия для программирования микроконтроллеров - Micro Python. А ещё Python используют при написания плагинов к таким известным программам как Blender , Autodesk Maya, и.т.д.

Из-за своего удобства и простоты Python очень полюбился ученым и исследователям из разных областей науки. Библиотеки NumPy, SciPy, MatPlotLib даю возможность проводить инженерные и другие расчеты с выводом графиков в удобной форме. Также стоит отметить инструменты для биоинформатики, помогающие обрабатывать данные по геному человека и других живых организмов, например Biopython.

Последним писком моды для Python на сегодняшний момент остается машинное обучение и нейросети, а также автоматизация обработки данных на рынке ценных бумаг (трейдинг).

Сложность обучения Python

Python достаточно легок для изучения, его чаще всего советуют в качестве первого языка программирования, а где-то его уже даже начали преподавать в школах вместо устаревшего Pascal или Visual Basic.

По Python есть много бесплатных руководств и самоучителей, а также ресурсов, на которых Вы можете проверить свои знания. Единственное, что здесь стоит упомянуть, так это какую версию нужно изучать - Python 2 или Python 3? Несколько лет назад ответом было 2, так как третья версия была ещё нестабильной и плохо работала с другими библиотеками. Например, фреймворк Django работал только со второй версией. Теперь же ситуация изменилась к лучшему и Вы спокойно можете приступать к изучению Python 3.

Плюсы/минусы Python

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

Из минусов языка стоит отметить следующие моменты:

  1. Низкая скорость выполнения программ, по сравнению с другими языками.
    Поначалу, программы на python выполнялись гораздо медленнее, чем аналогичные, написанные на Java или C++, однако эта проблема была решена созданием инструментов, которые переводят код с питона в байт-код (или код на C) и использованием виртуальных машин.
  2. Копирование кода.
    При копировании кода с другого ресурса, в некоторых случаях, он может скопироваться без сохранения отступов. Поэтому код будет невалидным, а Вам придется долго добавлять табуляцию в каждую строчку. Для решения этой проблемы нужно либо использовать специальные IDE, либо добавлять в Ваш редактор плагины для python.
  3. Конвертация программы на python в exe.
    Программы на python имеют расширение *py. Для использования без интерпретатора, например, на Windows, его нужно конвертировать в файл с расширением *exe (для этого можно использовать приложение py2exe). Допустим, у Вас была программа, которое вычисляет три числа и выводит график при помощи MatPlotLib. Это программа должна занимать около 30-40 Кб, однако после конвертации она может весить до 50 Мб. После удаления ненужных библиотек можно уменьшить эту цифру до 10-20 Мб, но результат будет хуже, чем у аналогичного проекта, сделанного, например на С++.
  4. Unicode и русские символы.
    Другие программисты когда-то шутили про питонщиков, что единственная их проблема - это Unicode. Действительно, была такая проблема - её решили в Python 2, а в Python 3 её почему-то вернули обратно. Поэтому, если Ваша программа должна работать с русскими буквами (например, выводить текст “Привет, мир!”), то лучше сначала почитайте об этом на ресурсах, посвященных этому замечательному языку, чтобы не видеть нечитаемых символов в выводе программы.

Сопутствующие технологии

Pip - если Вы программируете на Windows, а не на Linux, то Вам может понадобиться этот пакетный менеджер. Он может идти в комплекте с интерпретатором или IDE, но, возможно, Вам придется скачать и установить его самому. Он упрощает установку библиотек Python для пользователя Wndows.

Django - фреймворк для создание веб-приложений. Изначально разрабатывался для новостных сайтов, однако теперь сфера его применения гораздо шире. Используется даже в таких крупных проектах, как YouTube, Instagram и.т.д.

IronPython, Jython - реализации Python для работы с .NET и Java. Позволяют использовать их типы или классы.