Python это высокоуровневый интерпретируемый язык программирования (ЯП) с динамической типизацией, удобными структурами данных (словари, списки, кортежи), автоматическим управлением памятью. Python поддерживает объектно-ориентированную, структурную, функциональную и аспектно-ориентированную парадигмы программирования.
Эволюция языка Python
Создатель Python - Гуидо ван Россумом. Впервые о появлении разработанного им ЯП он сообщил в конце 1989 г. Python с самого начала был заявлен как проект с открытым кодом, распространялся бесплатно, без каких-либо ограничений.
Рисунок 1. Гуидо ван Россум. Автор24 — интернет-биржа студенческих работ
Версия 1.0 ЯП Python была опубликована в январе 1994 г. В ней появились такие возможности, как лямбда-исчисление, map, фильтры, свертка списка. Часть нового функционала была позаимствована из ЯП Lisp. Во второй половине 1990-х гг. Python испытал влияние языка Modula-3, например, именованные параметры, встроенная поддержка комплексных чисел.
К 2000 г. развитием Python занимался уже коллектив авторов (BeOpen PythonLab). Чуть позднее ван Россум и его товарищи присоединились к организации Digital Creations.
В версия 2.0 испытала влияние ЯП SETL и Haskell (функция спискового включения). В это же время в язык была добавлена автоматическая сборка мусора и поддержка циклических ссылок.
В 2001 г. создана некоммерческая организация Python Software Foundation, взявшая на себя координирующую деятельность по развитию языка.
К середине 2000-х популярность языка существенно выросла. В версии 2.2 реализована полноценная объектная ориентированность, что позволило заинтересовать многих разработчиков. Тем не менее, в развитии языка в то время наметился ряд кризисных явлений, преодолеть которые было призвано появление 3 декабря 2008 года версии 3.0 (“Python 3000”, “Py3K”). В результате появился новый диалект языка, совместимость которого с предыдущим вариантом Python оказалась неполной. Это породило некоторое недовольство в комьюнити, но в настоящее время отдельное развитие версий 2.x и 3.x расценивается разработчиками как нормальное явление. У каждого из вариантов есть круг приверженцев, собственная инфраструктура и т.п.
Рисунок 2. Эволюция версий Python. Автор24 — интернет-биржа студенческих работ
Применения языка программирования Python
Достоинства Python:
- простой синтаксис, низкий порог вхождения;
- высокая по сравнению с другими интерпретируемыми языками скорость работы;
- развитая инфраструктура: существует большое количество актуальных библиотек для решения широкого круга задач; благодаря пакетному менеджеру
pip
необходимые модули и зависимости быстро могут быть загружены из Сети; - кроссплатформенность: программы, написанные на Python, можно разрабатывать и запускать на различных операционных системах (Windows, Linux, MacOS);
- обширное сообщество программистов, обсуждающих проблемы, связанные с данным ЯП на форумах, в группах и т.п.;
- большое количество качественной документации, а также учебников и справочников, опубликованных как в электронной, так и в бумажной форме.
Сферы применения языка:
- написание системных утилит и скриптов;
- веб-разработка (фреймворки, Flask, Pyramid, Djangoи др.);
- научные расчеты (фреймворки NumPy, SciPy);
- десктопные приложения (GUI-библиотеки tkinter, PyQt, wxPython);
- игры (движок Pygame);
- приложения для мобильных устройств (среда разработки kivy).
Python активно используется в компаниях Google, Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm, IBM и др.
Написание простейшей программы. Среда разработки IDLE
Для написания программ на языке Python подойдет любой текстовый редактор, но разумнее, использовать те, что ориентированы на написание компьютерного кода (Sublime, Notepad++, Vim). Можно также использовать IDE (Integrated Development Enviroments - интегрированные среды разработки), такие, как Eclipse, VisualStudio, для которых существуют специальные плагины, добавляющие поддержку Python. Одна из таких сред - IDLE - включена в состав дистрибутива Python. Это позволяет начинающим программистам сразу после установки дистрибутива приступить к написанию программ.
Первой задачей, с которой принято начинать знакомство с новым языком программирования, является вывод на экран фразы "Hello, World!". Такая программа на Python будет выглядеть так:
print("Hello, World!")
Здесь задействована стандартная функция вывода print
, встроенная в интерпретатор языка. Посредством круглых скобок ей передается аргумент, в данном случае - организованная с помощью кавычек строка.
Куда именно выводит функция print
переданый ей текст - зависит от реализации языка и настроек. Это может быть стандартная консоль терминала, специальное текстовое поле в среде разработки, файл, сокет и т.п.
Фннкция print
может выводить на экран не только строки, но и числа, сведения о состоянии сложных объектов и т.п.
Интерпретатор языка Python можно запустить в интерактивном режиме. В этом случае он будет обрабатывать вводимый текст построчно, по мере ввода строк, завершаемых нажатием на клавишу Enter
. Этот режим хорош для отладки, а также для обучения, демонстрации базовых возможностей языка. В основном же программы на Python создаются стандартным способом: текст набирается в редакторе и сохраняется в файл. Имя файла передается интерпретатору в качестве основного аргумента, например:
python hello_world.py
, где hello_world.py
- имя файла с текстом программы (для файлов с программами, написанными на ЯП Python, принято использовать расширение py
).
Поскольку Python - интерпретируемый язык, такой вызов сразу же преобразует исходный текст программы в машинные коды и передает на исполнение процессору, если, конечно, в процессе интерпретации не будет обнаружено синтаксических ошибок.
Рассмотрим процесс создания программы с помощью среды IDLE. Новую (пустую) вкладку в редакторе можно создать с помощью клавиатурного сокращения Ctrl + N
или из меню File → New
. Пусть наша программа спрашивает имя пользователя и приветствует его:
name = input("Пожалуйста, сообщите Ваше имя:")
print("Здравствуйте, ", name)
В первой строке программа выводит на экран вопрос и ждет от пользователя ввода с клавиатуры. Текст, который он указал в качестве своего имени, запоминается в переменную name
. Во второй строке производится вывод фразы на экран, причем ее части передаются функции print
в качестве двух аргументов, из которых собирается приветствие.
Запустить программу можно нажав клавишу F5
или вызвав из меню Run → Run Module
.
Рисунок 3. Запуск простейшей программы. Автор24 — интернет-биржа студенческих работ