Python – скриптовый язык программирования, интерпретируемый, относящийся к высокоуровневым. Объектно-ориентированный, этот язык широко используется не только в веб-разработке, но и в машинном обучении, Data Science, IoT, GameDev, нейросетях и проектах с использованием искусственного интеллекта. Python достаточно универсален и может применяться как в мобильных платформах Android и iOS, так и в серверных операционных системах.
Уже сейчас Python опережает Java в рейтинге TIOBE, но эксперты уверены, что через несколько лет язык станет лидером и самым востребованным в мире. Среди причин роста популярности отмечают активное развитие новых отраслей, где применяется Python, например Data Mining и Machine Learning.
История Python
Создателем Python выступил нидерландский программист и инженер Гвидо ван Россум (Guido van Rossum). Идея языка возникла у него в восьмидесятые годы прошлого века. Планировалось, что новый язык станет потомком ABC, способным взаимодействовать с ОС Amoeba и обработке исключений.
Python, по признанию Россума, создавался практически “на коленке”: в свободное время, на выходных. Он выступал не только вдохновителем, но и самим разработчиком проекта. Несмотря на отсутствие бюджета, интерпретатор был готов уже через несколько недель. В феврале 1991 Россум опубликовал исходный текст на alt.sources с уже заложенными принципами ООП. Следующая версия языка вышла спустя 3 года, тогда же образовалось основное сообщество – comp.lang.python.
На данный момент текущая версия языка – 3.9.0, обновлено 5 октября 2020 года. Сам Гвидо ван Россум присоединился к Microsoft и говорит о более глубоком внедрении Python в разработки компании.
Название Python
Существует стереотип, что Россум назвал разработку в честь змеи (Python с переводе с английского “питон”), однако это не так. Автор признается, что прообразом для названия языка стало известное британское скетч-шоу “Monty Python’s Flying Circus”. Интересный факт: несмотря на отрицание использование питона как вдохновения для названия, эмблема и пиктограммы файлов Python представлены в виде двух змеиных голов.
Особенности Python
В силу своей относительной простоты и гибкости Python – один из лучших языков программирования для начинающих. Лаконичный минималистичный интерфейс, выделение ошибок в коде, дружелюбная среда, отсутствие проблем с указателями делают его удобным инструментом для знакомства с разработкой.
Кроме того, язык:
- Интерпретируемый.
Код не компилируется, а запускается интерпретатором (программой, выполняющей код или запрос), благодаря чему код можно запустить на любой платформе с установленным интерпретатором.
- Объектно-ориентированный.
В основе языка лежит модель объектно-ориентированного программирования (концентрации на объекте – некой сущности, которая обладает определенными характеристиками и может выполнять какие-то действия). Однако помимо ООП, разработчик может использовать и другие типы программирования, например, функциональное и императивное.
- С динамической типизацией.
В Python любой объект – это ссылка, а тип объекта – то, на что он ссылается. Тип объекта может меняться, если изменяется ссылка на объект. Кроме того, в языке нет операторных скобок.
Язык достаточно компактный, и то, что в Java пишется в пять строк, здесь может поместиться всего в одну. Однако стоит отметить, что по скорости выполнения программы на Python входят в число самых медленных. Язык не подходит для решения задач, требующих много памяти, из-за чего их решают вставками на C/C++ (они допускаются).
Библиотеки Python
Библиотека в разработке – это совокупность инструментов, решающих определенный тип задач. Не нужно придумывать что-то с самого начала, достаточно подключить библиотеку. И среди самых распространенных в Python можно выделить следующие:
- Pandas – для больших данных;
- Django – для работы над серверной частью;
- SQLAlchemy – для взаимодействия с базами данных;
- Pygame – для создания игр и мультимедиа;
- Keras – для работы с сетями глубокого обучения;
- Pillow – для обработки изображений;
- Requests – для http.
для дата сайентистов как ни крути, будет полезна Advanced Analytics
ну или Matplotlib
а к джанго можно добавить Flask