Перейти к содержанию

Библиотеки Python

Python — высокоуровневый язык программирования, объектно-ориентированный, модульный и подчеркнуто легкочитаемый, что делает его очень простым в изучении. Python широко применяется в образовательной сфере, для научных вычислений, больших данных и машинного обучения, в веб-разработке, графике, GUI, играх и других направлениях. В связи с огромной сферой применения существует уже бесчисленное количество библиотек, упрощающих программирование на этом языке без необходимости написания излишнего кода. На этом уроке мы начнем знакомство со стандартными библиотеками языка Python.

Библиотеки как наследие

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

Сначала поговорим о сильных сторонах.

Сильные стороны Python - На Python легко научиться программировать (именно поэтому вы его и изучаете) - Благодаря строению языка и его динамической скриптовой природе разрабатывать на Python можно очень быстро

Принцип прост: быстро изучить — быстро программировать.

В результате языком Python заинтересовались люди, которым нужно автоматизировать какие-то процессы в своей деятельности или «склеивать» несколько взаимосвязанных программ в комплексы. Обычно эти люди не программисты по специальности. Это инженеры, преподаватели, математики, физики, биологи, лингвисты — все они часто применяют Python в своей практике.

Вторая причина популярности Python связана с тем, что он очень быстро стал интегрироваться с огромным количеством библиотек, написанных на других языках программирования. Что-то очень похожее было когда-то с языком программирования Perl и его платформой CPAN.

Теперь пришел черед познакомиться с термином «библиотека» в контексте программирования.

Библиотека

Библиотека в программировании — сборник подпрограмм или объектов, используемых для разработки программного обеспечения, или ПО. Так гласит Википедия.

Давайте немного поясним. Правила структурного программирования говорят, что любая программа должна иметь структуру, а именно: делиться на взаимодействующие компоненты (блоки) — файлы, функции, классы.

Это можно сравнить с разделением книг на главы, абзацы, слова — без такого деления трудно понять смысл. Этот принцип — первый важный этап в понимании сущности библиотеки.

Следующий этап заключается в возможности использовать часть кода одной программы из другой программы. Обычно это нужно, чтобы повторно использовать код: не писать одно и то же два раза. А еще — не переписывать код, написанный на другом языке программирования. Такое свойство часто называют модульностью.

Самый простой контейнер для кода — функция. Часто используемые функции объединяются по своему типу в библиотеки. Например, функции по работе с видеофайлами, функции, отвечающие за соединение и получение информации из Интернета и т. д.

Библиотеки могут объединяться в более крупные сборники, в итоге иногда получаются настоящие монстры, относящиеся к какой-то широкой области. Например, OpenCV — это библиотека для компьютерного зрения, Django — для веб-программирования, Scipy — для научных вычислений.

В Python библиотеки называются модулями.

Итак, современный язык программирования напоминает наборы конструкторов, которые совместимы друг с другом.

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

Именно так. Очень многие библиотеки абсолютно свободны (на их использование нет никаких ограничений), бесплатны, а их исходные коды доступны.

Обычно путают три понятия, связанные с ПО. Путаница получилась из-за того, что на английском free — и бесплатный, и свободный.

  • Свободное ПО означает, что после покупки вы можете делать с ним все, что хотите, включая дизассемблирование, использование в коммерческих проектах, написание на его основе своих программ
  • Бесплатное ПО
  • ПО с открытыми исходными кодами

Возможны любые сочетания этих свойств.

Revolution OS

Некоторые библиотеки, например, связанные с математическими вычислениями, очень старые и написаны еще на Fortran. При этом они используются в современных проектах, поскольку созданы профессиональными математиками и инженерами, многократно проверены и оптимизированы.

В этом смысле библиотеки — такое же наследие человечества, как литература, музыка и архитектура.

Интересный факт: с точки зрения закона, программы являются литературными произведениями.

Репозиторий PyPI

PyPI — центральный репозиторий (хранилище) модулей для языка программирования Python. Он как PlayMarket для Android, AppStore для iPhone или CPAN для Perl. Пройдите по ссылке. Вы увидите страницу, которая начинается со следующих слов:

The Python Package Index (PyPI) is a repository of software for the Python programming language.

PyPI helps you find and install software developed and shared by the Python community.

Обратите внимание: количество модулей уже превысило 200 000!

Наверное, можно в шутку говорить, что у Python на все случаи жизни есть нужная библиотека.

Допустим, вы хотите написать программу-бота для «ВКонтакте», чтобы она делала за вас репосты, ставила лайки, переписывалась с друзьями, предлагала подружиться... Так вот для этого тоже есть библиотека!

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