Python – популярный язык, почему?
Python — это язык программирования, который любят разработчики по всему миру. Его нередко советуют для изучения начинающим специалистам в качестве первого языка.
История создания языка
Гвидо ван Россум (нидерл. Guido van Rossum; род. 31 января 1956, Харлем, Нидерланды) — голландский программист, прежде всего известный как автор языка программирования Python.
Разработка языка Python началась в конце восьмидесятых годов двадцатого столетия. Для распределенной операционной системы «Amoeba» понадобился расширяемый скриптовый язык, и сотрудник голландского института Гвидо ван Россум начал писать такой язык в свободное время. Уже в тысяча девятьсот девяносто первом году Гвидо опубликовал первый код. Название языка, несмотря на созвучность с названием семейства неядовитых змей, произошло от другого. Разработчик назвал язык в честь известного британского юмористического телевизионного шоу семидесятых — «Летающий цирк Монти Пайтона». Среди пользователей Python часто называют просто «Питон».
Возможности Python
- Объектно-ориентированное программирование (ООП). Реализация ООП в Пайтон хоть и специфична по сравнению с иными объектно-ориентированными языками, но одновременно является неплохо продуманной.
- Обобщенное и функциональное программирование.
- Модули и пакеты. Программное обеспечение (ПО) на Питоне оформляется в виде модулей, которые могут быть собраны в пакеты.
- Интроспекция. Это возможность запросить тип и структуру объекта во время выполнения программы. В Питоне для любого объекта можно узнать всю информацию о его внутренней структуре.
- Обработка исключений, итераторы и генераторы.
- Управление контекстом выполнения.
- Декораторы, регулярные выражения
Волнующий вопрос новичков, почему же python?
- Язык характеризуется логичным синтаксисом, вследствие чего исходный код программ, написанных «на питоне», легко читается и воспринимается.
- Еще одно из преимуществ данного языка программирования — его условная легкость. Он считается наиболее подходящим для начинающих специалистов: разрабатывать несложные программы можно научиться уже спустя пару-тройку дней изучения.
- Большое интернет-сообщество. Если разработчик сталкивается с вопросами и трудностями, он всегда может спросить совета у коллег, что значительно ускоряет решение проблем.
- Гибкость и масштабируемость. Пайтон позволяет разработчикам адаптировать высокоуровневую логику приложения, что позволяет легко расширять сложные приложения по мере необходимости.
- Разработка «на питоне» идет быстрее, чем на большинстве других языках.
- Python является интерпретируемым языком программирования. Это значит, что до запуска он представляет собой обычный текстовый файл. Соответственно, программировать можно почти на всех платформах.
Использование python
- Программные приложения. С помощью данного языка программирования можно разрабатывать приложения на компьютер.
- Мобильные приложения. Мобильная разработка «на питоне» пользуется спросом во всем мире — для программирования серверной части таких приложений зачастую выбирают Python.
- Игры. Множество компьютерных игр целиком или отчасти разработано на Пайтон. Например, он использовался при создании популярной игры World of Tanks.
- Встроенные системы. На Питоне можно создавать встроенные системы для разных устройств. Например, для управления банкоматами.
- Скрипты. На Python можно написать плагины и скрипты к уже реализованным программам для создания новых модулей и автоматизации процессов.
- Машинное обучение (Machine Learning). С его помощью пишут алгоритмы для Machine Learning программ, а также многие аналитические приложения.
- Тестирование. Python активно применяется для автоматизации тестирования.
А также, на сегодняшний день есть фреймворк для веб-разработки на python.
Django
Django — это программный каркас с богатыми возможностями, подходящий для разработки сложных сайтов и веб-приложений, написанный на языке программирования Python.
Django — фреймворк для веб-приложений на языке Python. Один из основных принципов фреймворка — DRY (don’t repeat yourself). Веб-системы на Django строятся из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми. Это одно из заметных архитектурных отличий этого фреймворка от некоторых других (например, Ruby on Rails). Также, в отличие от многих других фреймворков, обработчики URL в Django конфигурируются явно (при помощи регулярных выражений), а не автоматически задаются из структуры контроллеров.
Django проектировался для работы под управлением Apache (с модулем mod_python) и с использованием PostgreSQL в качестве базы данных. В настоящее время, помимо PostgreSQL, Django может работать с другими СУБД: MySQL (MariaDB), SQLite, Microsoft SQL Server, DB2, Firebird, SQL Anywhere и Oracle. Для работы с базой данных Django использует собственный ORM, в котором модель данных описывается классами Python, и по ней генерируется схема базы данных.
Архитектура Django похожа на «Модель-Представление-Контроллер» (MVC). Контроллер классической модели MVC примерно соответствует уровню, который в Django называется Представление (View), а презентационная логика Представления реализуется в Django уровнем Шаблонов (Templates). Из-за этого уровневую архитектуру Django часто называют «Модель-Шаблон-Представление» (MTV).
Первоначально разработка Django велась для обеспечения более удобной работы с новостными ресурсами, что достаточно сильно отразилось на архитектуре: фреймворк предоставляет ряд средств, которые помогают в быстрой разработке веб-сайтов информационного характера. Например, разработчику не требуется создавать контроллеры и страницы для административной части сайта, в Django есть встроенное приложение для управления содержимым, которое можно включить в любой сайт, сделанный на Django, и которое может управлять сразу несколькими сайтами на одном сервере. Административное приложение позволяет создавать, изменять и удалять любые объекты наполнения сайта, протоколируя все совершённые действия, и предоставляет интерфейс для управления пользователями и группами (с пообъектным назначением прав).
Веб-фреймворк Django используется в таких крупных и известных сайтах, как Instagram, Disqus, Mozilla, The Washington Times, Pinterest, lamoda и др.