1

История языка программирования Python

  • Python 0.9

    Python 0.9
    Python 0.9.0 — первая версия языка программирования Python, выпущенная Гвидо ван Россумом в 1991 году.
    Некоторые особенности этой версии:
    Обработка исключений.
    Функции.
    Основные типы данных, такие как list, dict, str и другие.
    Модульная система, которая позволяла организовывать код в библиотеки многократного использования.
    Также в Python 0.9.0 была представлена модульная система, вдохновлённая языком ABC, который в то время реализовывал ван Россум.
  • Python 1.0

    Python 1.0
    Первая официальная версия Python была выпущена в январе 1994 года. Она включала в себя основные концепции, которые до сих пор являются основой языка:
    Интерпретируемость: Это позволяет разработчикам быстро проверять и изменять код без необходимости компиляции.
    Динамическая типизация: Это позволяет разработчикам писать более гибкий и адаптивный код.
    Высокоуровневые структуры данных: Встроенные типы данных, такие как списки и словари, упрощают работу с данными.
  • Python 1.5

    Python 1.5
    Python 1.5 — версия языка программирования Python. Она включала множество улучшений и новых возможностей. Некоторые из них:
    Поддержка исключений.
    Регулярные выражения.
    Улучшенная работа с файлами. Были добавлены новые функции для работы с файлами.
    Расширение стандартной библиотеки. Библиотека включала множество модулей для различных задач.
    Начальная поддержка Unicode.
  • Python 1.6

    Python 1.6
    Python 1.6 — 'то последняя версия, разработанная в CNRI, и единственная, выпущенная под лицензией с открытым исходным кодом.

    Некоторые особенности Python 1.6:
    Поддержка Unicode.
    Методы строк.
    Новый движок регулярных выражений.
    Безопасность удаления объектов. У
    Унификация long/int.
    Новый вариант форматирования строк.
    Поддержка XML, HTTP1.1, curses, SSL.
    Улучшенная среда разработки. После выпуска Python 1.6 появилась Python 1.6.1 с исправлением мелких ошибок и новой лицензией.
  • Python 2.0

    Python 2.0
    Python 2 — версия языка программирования Python.

    Некоторые особенности Python 2:
    Реализация PEP — технической спецификации, которая предоставляет информацию членам сообщества Python.
    Множество новых функций: циклический сборщик мусора для автоматизации управления памятью, расширенная поддержка Unicode для стандартизации символов, списковая сборка и другие.
    Python 2 был популярен и широко использовался разработчиками и компаниями. Однако 1 января 2020 года поддержка Python 2 прекратилась
  • Python 2.1

    Python 2.1
    Python 2.1 — первая версия, полностью разработанная на основе модели PEP.
    Некоторые изменения, которые появились в Python 2.1:
    Статически вложенные пространства имён. Э
    Механизм автоматического определения поддерживаемых модулей. D
    Оператор import для имитации чувствительности к регистру.
    Модуль warnings. Он предоставляет функции для выдачи предупреждений и фильтрации тех из них, которые не нужно выводить.
    Новый метод для словарей — popitem().
  • Python 2.2

    Python 2.2
    Главное нововведение в этой версии — объединение базовых типов Python и классов, создаваемых пользователе. Это сделало Python полностью объектно-ориентированным языком.
    Некоторые другие особенности Python 2.2:
    Возможность определять статические и классовые методы в дополнение к методам экземпляра. Автоматический вызов методов при доступе к атрибуту экземпляра. Перегрузка операторов деления. Поддержка аргументов командной строки. Поддержка больших файлов на платформах Win32 и Win64.
  • Python 2.3

    Python 2.3
    Некоторые особенности Python 2.3:
    Доработка функций, добавленных в Python 2.2. Добавление нескольких новых встроенных функций, таких как sum() и enumerate(). Использование оператора in для поиска по подстроке. Введение типов данных, таких как Boolean, set, heap и дата/время.
    Возможность импорта модулей из архивов формата ZIP.
    Поддержка метаданных для каталога Python.
    Обновлённая версия IDLE.
    Поддержка интернационализированных имён доменов. Python 2.3 может работать на 30% быстрее, чем Python 2.2
  • Python 2.4

    Python 2.4
    Python 2.4 — релиз среднего размера, в котором меньше изменений, чем в радикальной версии Python 2.2, но больше возможностей, чем в консервативной версии 2.3.
    Некоторые особенности Python 2.4:
    Генераторные выражения.
    Унификация длинных целых и целых чисел.
    Встроенные объекты множеств.
    Новый модуль для работы с процессами — subprocess.
    Десятичный тип данных.
    Улучшения в импорте модулей.
    В результате оптимизаций Python 2.4 работает на 5% быстрее, чем Python 2.3, и на 35% быстрее, чем Python 2.2
  • Python 2.5

    Python 2.5
    Некоторые особенности версии:
    Добавление новых модулей: ElementTree для обработки XML, модуль базы данных SQLite и модуль ctypes для вызова функций C
    Введение условных выражений с новым синтаксисом.
    Возможность передавать значения в генераторы.
    Появление встроенных функций any() и all()
    Изменение кодировки по умолчанию для модулей: ASCII
    Оптимизация встроенных типов set и frozenset
    Улучшение скорости выполнения некоторых операций в Юникоде
    Ускорение работы функции long() для длиннозначных строк
  • Python 2.6

    Python 2.6
    Python 2.6 включал некоторые возможности Python 3.0, в том числе функцию print(). Также в этой версии был реализован режим «предупреждения», в котором подсвечивалась функциональность, удалённая в Python 3.0. Некоторые другие особенности Python 2.6:
    введение нового типа «неизменяемые байты» и типа «изменяемый буфер» для представления бинарных данных;
    новая подсистема ввода-вывода (модуль io) с отдельными представлениями для бинарных и текстовых данных;
    абстрактные классы и абстрактные методы.
  • Python 3.0

    Python 3.0
    Основной целью этой версии было устранение недостатков, читаемость кода
    Некоторые изменения, внесённые в Python 3.0:
    Полный переход на Unicode для строк
    Введение нового типа «неизменяемые байты» и типа «изменяемый буфер»
    Новая подсистема ввода-вывода (модуль io)
    Абстрактные классы, абстрактные методы.
    Иерархия типов для чисел
    Выражения для словарей и множеств
    Реорганизация стандартной библиотеки
    Python 3.0 был несовместим с предыдущими версиями, что вызвало некоторое сопротивление в сообществе.
  • Python 3.1

    Python 3.1
    Некоторые особенности Python 3.1:
    Реализован класс collections.OrderedDict
    Библиотека ввода/вывода переписана на языке С.
    Добавлена эталонная реализация оператора import
    Добавлена поддержка строк в фиксированной кодировке
    Появились новые модули: tkinter.ttk
    Добавлен класс collections.Counter
    Появился новый механизм оптимизации циклов "--with-computed-gotos"
    В 2–4 раза увеличена скорость декодирования строк UTF-8, UTF-16 и LATIN-1.
    Для json-модуля добавлено расширение, написанное на С
  • Python 2.7

    Python 2.7
    Python 2.7 включала функциональность Python 3.1. Некоторые особенности Python 2.7:
    Преобразования из длинных целых чисел и обычных целых чисел в числа с плавающей точкой.
    целочисленное деление более точно округляет результаты;
    модули pickle и cPickle автоматически интернируют строки, используемые для имён атрибутов.
    конструктор для Decimal принимает числа с плавающей точкой и неевропейские символы Unicode, такие как арабско-индийские цифры. 4
    Поддержка Python 2.7 закончилась 1 января 2020 года
  • Python 3.2

    Python 3.2
    Основные усилия при подготовке версии были направлены на увеличение стабильности, расширение возможностей стандартной библиотеки и упрощение процесса портирования скриптов
    Некоторые улучшения, добавленные в Python 3.2:
    Расширение возможностей модуля unittest.
    Поддержка привязанных к номеру версии Python ABI динамических библиотек.
    В модуле shutil добавлена поддержка работы с архивами в формате ZIP, TAR, GZIP и BZIP.
    Значительно изменён модуль configparser
  • Python 3.3

    Python 3.3
    Поддержка виртуальных окружений.
    Поддержка синтаксиса yield from выражение
    Новые модули: faulthandler ipaddress
    Переработанная иерархия исключений для системных вызовов (os) и ввода/вывода (io).
    Улучшение поддержки Unicode.
    Возможность скрытия контекста исключений.
    Реализация расширенных и независимых от платформы часов в модуле «time».
    Добавлен класс collections.ChainMap
    По умолчанию включён режим рандомизации хэшей
  • Python 3.4

    Python 3.4
    Некоторые нововведения Python 3.4:
    Модуль «pathlib»
    Улучшена семантика для финализации объектов
    Появился новый C API для создания собственных методов распределения памяти.
    Появился новый модуль «statistics»
    В дистрибутив добавлен установщик менеджера пакетов pip.
    Добавлен модуль «tracemalloc»
    Реализован новый улучшенный протокол Pickle version 4
    Добавлен модуль «asyncio», представляющий из себя фреймворк для асинхронного ввода/вывода.
  • Python 3.5

    Python 3.5
    Некоторые особенности Python 3.5:
    Оптимизация скорости работы приложений
    Поддержка асинхронного программирования.
    Улучшенная обработка ошибок. Это помогает быстро выявлять и исправлять ошибки
    Новый синтаксис. Например, использование оператора «@» для умножения матриц. 21
    Расширение операторов распаковки. Теперь можно использовать «» и «*» для произвольного числа распаковок при вызове функции или при манипуляциях с множествами, кортежами, списками и словарями
    Новый модуль zipapp
  • Python 3.6

    Python 3.6
    Некоторые нововведения версии:
    Возможность использования символов подчёркивания для улучшения читаемости чисел
    Возможность определения асинхронных генераторов.
    Переработанная реализация типа dict
    Добавлен протокол для определения путей в файловой системе в виде отдельных объектов pathlib
    В состав стандартной библиотеки включён новый модуль secrets, предоставляющий средства для генерации криптографически надёжных псевдослучайных чисел, пригодных для формирования различных ключей и токенов
  • Python 3.7

    Python 3.7
    Новые возможности синтаксиса: отложенное вычисление аннотаций типов (PEP 563).
    Новые модули библиотеки: contextvars, dataclasses, importlib.resources
    Новые встроенные функции: breakpoint()
    Улучшения модели данных Python
    Изменения в стандартной библиотеке
    Модуль time получил поддержку функций с разрешением в наносекунды.
    Повышение производительности: возросла скорость вызова методов (до 20% в некоторых случаях), время старта интерпретатора уменьшилось на 10–30%
  • Python 3.8

    Python 3.8
    Некоторые особенности Python 3.8:
    Оператор Walrus (:=).
    Поддержка позиционных аргументов.
    Поддержка f-строк.
    Обратимые словари.
    Новые функции в стандартной библиотеке: math.prod()
    Python 3.8 добавляет новые предупреждения, которые могут помочь во время кодирования и отладки.
  • Python 3.9

    Python 3.9
    Некоторые особенности Python 3.9:
    Новые операторы для словарей. В встроенном классе dict появились операторы слияния «|» и обновления «|=»
    Новые методы для строк. Добавлены методы удаления начала (префикса) и конца (суффикса) строки — removeprefix() и removesuffix().
    Поддержка подсказок типов.
    Новые модули: Zoneinfo, graphlib для сортировки графов
    Проведена оптимизация производительности встроенных типов
    Устранена утечка памяти при повторной инициализации интерпретатора Python в одном процессе
  • Python 3.10

    Python 3.10
    Некоторые особенности этой версии:
    Структурное сопоставление шаблонов.
    Улучшенная проверка типов.
    Улучшение менеджеров контекста.
    Улучшенные сообщения об ошибках.
    Улучшение производительности.
    Новые возможности в стандартной библиотеке. Например, функция zip() теперь имеет необязательный флаг «strict», при указании которого проводится проверка на одинаковую длину перебираемых аргументов.
  • Python 3.11

    Python 3.11
    В этой версии разработчики уделили внимание повышению производительности.

    Некоторые особенности Python 3.11:
    Ускорение запуска. Интерпретатор CPython запускается на 10–15% быстрее, чем в версии 3.10.
    Оптимизация стековых кадров.
    Оптимизация встроенных вызовов функций.
    Специализированный адаптивный интерпретатор.
    Более подробная трассировка вызовов.
    Расширение возможностей аннотации типов.
    Поддержка формата TOML.
    Встроенная поддержка WebAssembly.
  • Python 3.12

    Python 3.12
    Некоторые нововведения версии:
    Расширенная гибкость разбора f-строк.
    Повышенная информативность сообщений об ошибках.
    Поддержка подсистемы ядра Linux perf в интерпретаторе.
    Более компактный синтаксис аннотирования типов для обобщённых классов и функций.
    Поддержка Windows в модуле os.
    Защита от переполнения стека
    Удаление неактуальных методов и функций языка.
    В версии 3.12 удалось добиться прироста производительности в размере 5%.