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

История создания языка Python

В декабре 1989 года Гвидо ван Россум приступил к созданию языка Python в центре математики и информатики в Нидерландах. Язык Python был задуман как потомок языка программирования ABC, способный к обработке исключений и взаимодействию с операционной системой Амёба

Версия Python 2.0 была выпущена 16 октября 2000 года и включала в себя много новых крупных функций — таких как полный сборщик мусора и поддержка Unicode. Однако наиболее важным из всех изменений было изменение самого процесса развития языка и переход на более прозрачный процесс его создания

Первая обратно-несовместимая версия Python 3.0 была выпущена 3 декабря 2008[6] года после длительного периода тестирования. Многие её функции были портированы и обратно совместимы с Python 2.6 и Python 2.7.

Версии языка Python

Python 1.0 появился в январе 1994 года. Основными новыми возможностями, включёнными в этот релиз, были средства функционального программирования: лямбда-исчисление, map, filter и свёртка списка.

В версии Python 2.0 появилось списковое включение — функция, заимствованная из функциональных языков программирования SETL и Haskell. Синтаксис в Python для этой конструкции очень похож на Haskell, за исключением того, что в Haskell предпочли использовать символы пунктуации, а в Python — ключевые слова. Также в Python 2.0 была добавлена система сборки мусора с поддержкой циклических ссылок.

Python 3.0 (называемый также "Python 3000" или "Py3K") разрабатывался с целью устранения фундаментальных изъянов в языке. Эти изменения не могли быть сделаны при условии сохранения полной обратной совместимости с 2.x версией, поэтому потребовалось изменение главного номера версии. Ведущим принципом разработки Python 3 было: «уменьшение дублирующейся функциональности устранением устаревших способов сделать это».

Синтаксис и семантика

Выражения

Операторы

Условный оператор if (если).

Операторы цикла while (пока) и for (для)

Оператор определения функции, метода или генератора def

Оператор определения класса class

Оператор обработки исключений try — except — else или try — finally

Оператор pass

Директивы

Возможности

Объектно-ориентированное программирование

Классы являются одновременно объектами со всеми ниже приведёнными возможностями.

Полиморфизм (все функции виртуальные).

Инкапсуляция (два уровня — общедоступные и скрытые методы и поля)

Функциональное программирование

Модули и пакеты

Интроспекция

Обработка исключений

Генераторы