Язык программирования Python был задуман в конце 1980 - х годов, [1] и его реализация была начата в декабре 1989 года [2] на Гвидо ван Россум в CWI в Нидерландах в качестве преемника ABC , способной обработки исключений и взаимодействующего с операционной системой Amoeba . [3] Ван Россум - главный автор Python, и его неизменная центральная роль в определении направления развития Python отражена в титуле, присвоенном ему сообществом Python, « Доброжелательный диктатор на всю жизнь» (BDFL) . [4] [5](Однако ван Россум ушел с поста лидера 12 июля 2018 г. [6] ). Python был назван в честь летающего цирка Монти Пайтона телешоу BBC . [7]
Python 2.0 был выпущен 16 октября 2000 года с множеством основных новых функций, включая сборщик мусора с обнаружением циклов (в дополнение к подсчету ссылок ) для управления памятью и поддержку Unicode . Однако наиболее важным изменением стал сам процесс разработки с переходом к более прозрачному и поддерживаемому сообществом процессу. [8]
Python 3.0, основной, обратно несовместимый выпуск, был выпущен 3 декабря 2008 г. [9] после длительного периода тестирования. Многие из его основных функций также были перенесены на обратно совместимые, но пока не поддерживаемые Python 2.6 и 2.7. [10]
Ранняя история [ править ]
В феврале 1991 года Ван Россум опубликовал код (помеченный как версия 0.9.0) в alt.sources. [11] Уже присутствует на данном этапе развития были классы с наследованием , обработка исключений, функции и основные типы данных из list
, dict
, str
и так далее. Также в этом первоначальном выпуске была модульная система, заимствованная из Modula-3 ; Ван Россум описывает модуль как «одну из основных программных единиц Python». [1] Модель исключений Python также похожа на модель Modula-3 с добавлением else
предложения. [3] В 1994 году comp.lang.pythonбыл сформирован основной дискуссионный форум Python, что стало важной вехой в росте пользовательской базы Python. [1]
Версия 1 [ править ]
Python достигла версии 1.0 в январе 1994 года основные новые функции , включенные в этот релиз были функциональные инструменты программирования lambda
, map
, filter
и reduce
. Ван Россум заявил, что «Python приобрел lambda, reduce (), filter () и map () благодаря любезности хакера Lisp, который пропустил их и представил рабочие патчи». [12]
Последней версией, выпущенной, когда Ван Россум был на CWI, был Python 1.2. В 1995 году Ван Россум продолжил свою работу над Python в Корпорации национальных исследовательских инициатив (CNRI) в Рестоне , штат Вирджиния, откуда он выпустил несколько версий.
К версии 1.4 Python получил несколько новых функций. Среди них следует отметить аргументы ключевого слова, вдохновленные Modula-3 (которые также похожи на аргументы ключевого слова Common Lisp ) и встроенную поддержку комплексных чисел . Также включена базовая форма сокрытия данных путем изменения имени , хотя это легко обойти. [13]
Во время пребывания Ван Россума в CNRI он запустил инициативу « Компьютерное программирование для всех» (CP4E), намереваясь сделать программирование более доступным для большего числа людей с базовой «грамотностью» в языках программирования, аналогичной базовой английской грамотности и математическим навыкам, необходимым для большинство работодателей. Python сыграл в этом центральную роль: из-за того, что он был ориентирован на чистый синтаксис, он уже был подходящим, а цели CP4E имели сходство с его предшественником, ABC. Проект финансировался DARPA . [14] По состоянию на 2007 [Обновить]год проект CP4E неактивен, и хотя Python пытается быть легко обучаемым и не слишком запутанным в своем синтаксисе и семантике, отправка электронной почты непрограммистам не является активной проблемой. [15]
BeOpen [ править ]
В 2000 году команда разработчиков ядра Python переехала на BeOpen.com [16], чтобы сформировать команду BeOpen PythonLabs под руководством одного из первых выпускников Google Доменика Меренды . [17] [18] CNRI потребовала, чтобы была выпущена версия 1.6, в которой подведены итоги разработки Python до момента, когда команда разработчиков покинула CNRI. Следовательно, графики выпуска 1.6 и 2.0 во многом совпадали. [8] Python 2.0 был единственным выпуском с BeOpen.com. После того, как на BeOpen.com был выпущен Python 2.0, Гвидо ван Россум и другие разработчики PythonLabs присоединились к Digital Creations .
Версия Python 1.6 включала новую лицензию CNRI, которая была значительно длиннее, чем лицензия CWI, которая использовалась для более ранних версий. В новую лицензию был включен пункт о том, что лицензия регулируется законами штата Вирджиния . Фонд свободного программного обеспечения утверждал, что пункт о выборе закона несовместим с Стандартной общественной лицензией GNU . BeOpen, CNRI и FSF договорились об изменении лицензии на свободное программное обеспечение Python, которое сделало бы его совместимым с GPL. Python 1.6.1 по сути такой же, как Python 1.6, с несколькими исправлениями незначительных ошибок и с новой лицензией, совместимой с GPL. [19]
Версия 2 [ править ]
Python 2.0, выпущенный в октябре 2000 г. [8], представил понимание списков , функцию, заимствованную из языков функционального программирования SETL и Haskell . Синтаксис Python для этой конструкции очень похож на синтаксис Haskell, за исключением того, что Haskell предпочитает символы пунктуации и Python предпочитает буквенные ключевые слова. Python 2.0 также представил систему сбора мусора, способную собирать ссылочные циклы. [8]
Python 2.1 был близок к Python 1.6.1, а также к Python 2.0. Его лицензия была переименована в Python Software Foundation License . Весь код, документация и спецификации, добавленные со времени альфа-версии Python 2.1, принадлежат Python Software Foundation (PSF), некоммерческой организации, созданной в 2001 году по образцу Apache Software Foundation . [19] Релиз включал изменение в спецификацию языка для поддержки вложенных областей видимости, как и другие языки со статической областью видимости . [20] (Эта функция была отключена по умолчанию и не требовалась до Python 2.2.)
Python 2.2 был выпущен в декабре 2001 г .; [21] основным нововведением было объединение типов Python (типов, написанных на C) и классов (типов, написанных на Python) в одну иерархию. Это единственное объединение сделало объектную модель Python чисто и последовательно объектно-ориентированной. [22] Также были добавлены генераторы, вдохновленные Icon . [23]
Python 2.5 был выпущен в сентябре 2006 г. [24] и представил with
оператор, который включает блок кода в диспетчер контекста (например, получение блокировки перед запуском блока кода и снятие блокировки после этого или открытие файла, а затем закрывая его), позволяя получить доступ к ресурсам как инициализацию (RAII) и заменяя обычную идиому try / finally. [25]
Python 2.6 был выпущен одновременно с Python 3.0 и включал некоторые функции из этого выпуска, а также режим «предупреждений», в котором подчеркивалось использование функций, которые были удалены в Python 3.0. [26] [10] Точно так же Python 2.7 совпал с Python 3.1 и включал в него функции, [27] который был выпущен 26 июня 2009 года. Параллельные выпуски 2.x и 3.x были прекращены, и Python 2.7 был последним выпуском. в серии 2.x. [28] В ноябре 2014 года было объявлено, что Python 2.7 будет поддерживаться до 2020 года, но пользователям было рекомендовано как можно скорее перейти на Python 3. [29] Поддержка Python 2.7 прекратилась 1 января 2020 г. вместе с замораживанием кода.2.7 ветка разработки. Последний выпуск 2.7.18 вышел 20 апреля 2020 г. и включал исправления критических ошибок и средства блокировки выпуска. [30] Это знаменует конец жизни Python 2. [31]
Версия 3 [ править ]
Python 3.0 (также называемый «Python 3000» или «Py3K») был выпущен 3 декабря 2008 г. [9] Он был разработан для исправления фундаментальных недостатков конструкции языка - требуемые изменения не могли быть реализованы при сохранении полной обратной совместимости с серии 2.x, что потребовало нового основного номера версии. Руководящим принципом Python 3 было: «уменьшить дублирование функций, удалив старые способы работы».
Python 3.0 был разработан с той же философией, что и в предыдущих версиях. Однако, поскольку Python накопил новые и избыточные способы программирования одной и той же задачи, Python 3.0 сделал акцент на удалении дублирующих конструкций и модулей в соответствии с принципом «Должен быть один - и желательно только один - очевидный способ сделать это».
Тем не менее Python 3.0 оставался языком с множеством парадигм . Программисты по-прежнему могли следовать парадигмам объектно-ориентированного , структурированного и функционального программирования, среди прочего, но при таком широком выборе детали должны были быть более очевидными в Python 3.0, чем в Python 2.x.
Совместимость [ править ]
Python 3.0 нарушил обратную совместимость , и большая часть кода Python 2 не запускается без изменений на Python 3. Динамическая типизация Python в сочетании с планами по изменению семантики некоторых методов словарей, например, сделали идеальный механический перевод с Python 2.x на Python 3.0 очень сложно. Инструмент под названием «2to3» выполняет те части перевода, которые могут выполняться автоматически. При этом 2to3 оказался довольно успешным, хотя в раннем обзоре было отмечено, что есть аспекты перевода, с которыми такой инструмент никогда не справится. [32]До развертывания Python 3 для проектов, требующих совместимости с сериями 2.x и 3.x, рекомендовалось иметь один исходный код (для серии 2.x), а выпускать выпуски для платформы Python 3.x с использованием 2to3. Редактировать код Python 3.x не рекомендуется до тех пор, пока код должен работать на Python 2.x. [10] Это больше не рекомендуется; с 2012 года предпочтительным подходом было создание единой базы кода, которая может работать как под Python 2, так и под Python 3 с использованием модулей совместимости. [33]
Особенности [ править ]
Некоторые из основных изменений, внесенных в Python 3.0:
- Изменение
print
так, чтобы это была встроенная функция, а не инструкция. Это упростило изменение модуля для использования другой функции печати, а также упорядочило синтаксис. В Python 2.6 и 2.7print()
доступен как встроенный, но маскируется синтаксисом оператора печати, который можно отключить, введя егоfrom __future__ import print_function
в верхней части файла [34] - Удаление функции Python 2
input
и переименованиеraw_input
функции вinput
.input
Функция Python 3 ведет себя так же, как функция Python 2raw_input
, в том смысле, что ввод всегда возвращается как строка, а не оценивается как выражение. - Переход
reduce
(но неmap
илиfilter
) из встроенного пространства имен вfunctools
(обоснование того, что используемый кодreduce
менее читабелен, чем код, использующий цикл for и переменную-аккумулятор) [35] [36] - Добавление поддержки дополнительных аннотаций функций, которые могут использоваться для неформальных объявлений типов или других целей [37]
- Объединение типов
str
/unicode
, представление текста и введение отдельного неизменяемогоbytes
типа; и в основном соответствующий изменяемыйbytearray
тип, оба из которых представляют собой массивы байтов [38] - Удаление функций обратной совместимости, включая классы старого стиля, строковые исключения и неявный относительный импорт
- Изменение функциональности целочисленного деления : в Python 2
5 / 2
это2
; в Python 35 / 2
есть2.5
. (Как в Python 2 (начиная с версии 2.2), так и в Python 3 существует отдельный оператор для обеспечения старого поведения:5 // 2
is2
)
Последующие выпуски серии Python 3.x включали дополнительные существенные новые функции; все текущее развитие языка осуществляется в серии 3.x.
Таблица версий [ править ]
Выпуски до пронумерованных версий:
- Начало реализации - декабрь 1989 г. [2]
- Внутренние релизы в Centrum Wiskunde & Informatica - 1990 [2]
Версия | Последняя микро-версия | Дата выпуска | Окончание полной поддержки | Конец исправлений безопасности | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0,9 | 0.9.9 [2] | 1991-02-20 [2] | 1993-07-29 [а] [2] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.0 | 1.0.4 [2] | 1994-01-26 [2] | 1994-02-15 [а] [2] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.1 | 1.1.1 [2] | 1994-10-11 [2] | 1994-11-10 [а] [2] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.2 | 1995-04-13 [2] | Не поддерживается | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.3 | 1995-10-13 [2] | Не поддерживается | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.4 | 1996-10-25 [2] | Не поддерживается | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.5 | 1.5.2 [39] | 1998-01-03 [2] | 1999-04-13 [а] [2] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.6 | 1.6.1 [39] | 2000-09-05 [40] | 2000-09 [а] [39] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.0 | 2.0.1 [41] | 2000-10-16 [42] | 2001-06-22 [а] [41] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.1 | 2.1.3 [41] | 2001-04-15 [43] | 2002-04-09 [а] [41] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.2 | 2.2.3 [41] | 21 декабря 2001 г. [44] | 30 мая 2003 г. [а] [41] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.3 | 2.3.7 [41] | 2003-06-29 [45] | 2008-03-11 [а] [41] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2,4 | 2.4.6 [41] | 2004-11-30 [46] | 2008-12-19 [а] [41] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2,5 | 2.5.6 [41] | 19 сентября 2006 г. [47] | 2011-05-26 [а] [41] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2,6 | 2.6.9 [26] | 2008-10-01 [26] | 24.08.2010 [b] [26] | 2013-10-29 [26] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2,7 | 2.7.18 [31] | 2010-07-03 [31] | 2020-01-01 [c] [31] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.0 | 3.0.1 [41] | 2008-12-03 [26] | 2009-06-27 [48] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.1 | 3.1.5 [49] | 2009-06-27 [49] | 2011-06-12 [50] | 2012-06 [49] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3,2 | 3.2.6 [51] | 2011-02-20 [51] | 2013-05-13 [b] [51] | 2016-02-20 [51] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.3 | 3.3.7 [52] | 2012-09-29 [52] | 2014-03-08 [b] [52] | 2017-09-29 [52] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3,4 | 3.4.10 [53] | 2014-03-16 [53] | 2017-08-09 [54] | 2019-03-18 [а] [53] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.5 | 3.5.10 [55] | 2015-09-13 [55] | 08.08.2017 [56] | 2020-09-30 [55] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3,6 | 3.6.13 [57] | 2016-12-23 [57] | 2018-12-24 [b] [57] | 2021–2012 [57] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3,7 | 3.7.10 [58] | 2018-06-27 [58] | 2020-06-27 [b] [58] | 2023-06 [58] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.8 | 3.8,8 [59] | 2019-10-14 [59] | 2021-05-03 [59] | 2024-10 [59] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.9 | 3.9.2 [60] | 2020-10-05 [60] | 2022-05 [61] | 2025-10 [60] [61] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.10 | 2021-10-04 [62] | 2023-05 [62] | 2026-10 [62] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Легенда: Старая версия Старая версия, все еще поддерживается Последняя версия Последняя предварительная версия Будущий выпуск | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Курсив - это последняя микроверсия поддерживаемых в настоящее время версий по состоянию на 2020-10-03. |
Примечания к таблице:
- ^ a b c d e f g h i j k l Дата последнего микро-релиза.
- ^ a b c d e Дата последнего выпуска, не связанного с безопасностью.
- ^ Официальная поддержка закончилась 01.01.2020, но окончательный выпуск кода, появившийся 01.01.2020, был выпущен 20.04.2020 как версия 2.7.18. [31]
Поддержка [ править ]
См. Также [ править ]
- История программной инженерии
Ссылки [ править ]
- ^ a b c «Создание Python» . Разработчик Artima . Проверено 22 марта 2007 года .
- ^ a b c d e f g h i j k l m n o p q ван Россум, Гвидо (20 января 2009 г.). «Краткая хронология Python» . Проверено 29 ноября 2019 года .
- ^ a b "Почему вообще был создан Python?" . Python FAQ . Проверено 22 марта 2007 года .
- ↑ Ван Россум, Гвидо (31 июля 2008 г.). «Происхождение БДФЛ» . Проверено 1 августа 2008 года .
- ^ "Сценарии Python Creator Inside Google" . www.eweek.com . Проверено 13 мая 2008 года .
- ↑ Fairchild, Карли (12 июля 2018 г.). «Гвидо ван Россум уходит с роли великодушного диктатора Пифона на всю жизнь» . Linux Journal . Проверено 12 июля 2018 года .
- ^ «Общие вопросы по Python - документация по Python 3.8.3» . docs.python.org .
- ^ a b c d Кучлинг, Эндрю М .; Задка, Моше. «Что нового в Python 2.0» . Архивировано из оригинального 14 декабря 2009 года . Проверено 22 марта 2007 года .
- ^ a b «Добро пожаловать на Python.org» . python.org . Проверено 27 декабря 2016 года .
- ^ a b c ван Россум, Гвидо (5 апреля 2006 г.). «PEP 3000 - Python 3000» . Проверено 27 декабря 2016 года .
- ^ «ИСТОРИЯ» . Распространение исходного кода Python . Фонд Python . Проверено 23 ноября 2017 года .
- ^ ван Россум, Гвидо. «Судьба reduce () в Python 3000» . Разработчик Artima . Проверено 22 марта 2007 года .
- ^ «LJ # 37: Обновление Python 1.4» . Архивировано из оригинала на 1 мая 2007 года . Проверено 29 апреля 2007 года .
- ^ ван Россум, Гвидо. «Компьютерное программирование для всех» . Проверено 22 марта 2007 года .
- ^ "Компьютерное программирование для всех" . Фонд программного обеспечения Python. Архивировано из оригинального 29 марта 2007 года . Проверено 22 марта 2007 года .
- ^ https://slashdot.org/story/00/05/30/1931239/python-development-team-moves-to-beopencom
- ^ https://web.archive.org/web/20000815095541/http://www.beopen.com/company/team.html
- ^ http://joeellsworth.com/resume/references/pybiz_beopen_partnership.pdf
- ^ a b «История программного обеспечения» . Справочник по библиотеке Python . Архивировано из оригинального 29 марта 2007 года . Проверено 22 марта 2007 года .
- ^ Хилтона, Джереми (1 ноября 2000). «PEP 227 - Статически вложенные области видимости» . Проверено 22 марта 2007 года .
- ^ < https://www.python.org/download/releases/2.2/
- ^ Kuchling, Эндрю М. (21 декабря 2001). «PEP 252 и 253: изменение типа и класса» . Что нового в Python 2.2 . Фонд Python. Архивировано из оригинального 17 сентября 2008 года . Проверено 5 сентября 2008 года .
- ^ Шеменауэр, Нил; Питерс, Тим; Хетланд, Магнус (21 декабря 2001 г.). «PEP 255 - Простые генераторы» . Проверено 5 сентября 2008 года .
- ^ "Python 2.5 Release" . Python.org .
- ^ «Основные моменты: Python 2.5» . Python.org .
- ^ a b c d e f Норвиц, Нил; Варшава, Барри (29 июня 2006 г.). «PEP 361 - график выпуска Python 2.6 и 3.0» . Проверено 29 ноября 2019 года .
- ^ Kuchling, Эндрю М. (3 июля 2010). «Что нового в Python 2.7» . Проверено 7 октября 2012 года .
Подобно тому, как Python 2.6 включает функции Python 3.0, версия 2.7 включает некоторые новые функции Python 3.1.
Серия 2.x продолжает предоставлять инструменты для перехода на серию 3.x.
- ↑ Варшава, Барри (9 ноября 2011 г.). «PEP 404 - Расписание не выпусков Python 2.8» . Проверено 7 октября 2012 года .
- ↑ Джи, Сью (14 апреля 2014 г.). «Python 2.7 будет поддерживаться до 2020 года» . i-programmer.info . Проверено 27 декабря 2016 года .
- ^ «Фиксирует · python / cpython на 2.7» .
- ^ a b c d e Петерсон, Бенджамин (3 ноября 2008 г.). «PEP 373 - график выпуска Python 2.7» . Проверено 20 апреля 2020 года .
- ^ Руби, Сэм; 2to3 , 1 сентября 2007 г.
- ^ Коглан, Ник; Вопросы и ответы по Python 3 , 29 июня 2012 г.
- ↑ Брандл, Георг (19 ноября 2007 г.). «PEP 3105 - Сделать печать функцией» . Проверено 27 декабря 2016 года .
- ^ ван Россум, Гвидо. «Python 3000 FAQ» . artima.com . Проверено 27 декабря 2016 года .
- ^ «Судьба reduce () в Python 3000» . www.artima.com . Проверено 31 декабря 2019 года .
- ^ Зима, Коллин; Лоундс, Тони (2 декабря 2006 г.). «PEP 3107 - Функциональные аннотации» . Проверено 27 декабря 2016 года .
- Рианна ван Россум, Гвидо (26 сентября 2007 г.). «PEP 3137 - неизменяемые байты и изменяемый буфер» .
- ^ a b c "Релизы | Python.org" . Проверено 29 ноября 2019 года .
- Перейти ↑ Drake, Fred L., Jr. (25 июля 2000 г.). «PEP 160 - график выпуска Python 1.6» . Проверено 29 ноября 2019 года .
- ^ a b c d e f g h i j k l m "Загрузить Python | Python.org" . Проверено 29 ноября 2019 года .
- ^ Хилтон, Джереми. «PEP 200 - график выпуска Python 2.0» . Проверено 29 ноября 2019 года .
- ^ Хилтон, Джереми (16 октября 2000). «PEP 226 - график выпуска Python 2.1» . Проверено 29 ноября 2019 года .
- ^ Варшава, Барри; ван Россум, Гвидо (17 апреля 2001 г.). «PEP 251 - график выпуска Python 2.2» . Проверено 29 ноября 2019 года .
- ↑ Ван Россум, Гвидо (27 февраля 2002 г.). «PEP 283 - график выпуска Python 2.3» . Проверено 29 ноября 2019 года .
- ^ Варшава, Барри; Хеттингер, Раймонд; Бакстер, Энтони (29 июля 2003 г.). «PEP 320 - график выпуска Python 2.4» . Проверено 29 ноября 2019 года .
- ^ Норвиц, Нил; ван Россум, Гвидо; Бакстер, Энтони (7 февраля 2006 г.). «PEP 356 - график выпуска Python 2.5» . Проверено 29 ноября 2019 года .
- ^ «17. Цикл разработки - Руководство разработчика Python» . Проверено 29 ноября 2019 года .
- ^ a b c Петерсон, Бенджамин (8 февраля 2009 г.). «PEP 375 - график выпуска Python 3.1» . Проверено 29 ноября 2019 года .
- ↑ Петерсон, Бенджамин (12 июня 2011 г.). "[ВЫПУЩЕН] Python 3.1.4" . python-announce (Список рассылки) . Проверено 29 ноября 2019 года .
- ^ a b c d Брандл, Георг (30 декабря 2009 г.). «PEP 392 - график выпуска Python 3.2» . Проверено 29 ноября 2019 года .
- ^ a b c d Брандл, Георг (23 марта 2011 г.). «PEP 398 - график выпуска Python 3.3» . Проверено 29 ноября 2019 года .
- ^ a b c Гастингс, Ларри (17 октября 2012 г.). «PEP 429 - график выпуска Python 3.4» . Проверено 29 ноября 2019 года .
- ↑ Гастингс, Ларри (9 августа 2017 г.). «[ВЫПУСКНО] Python 3.4.7 теперь доступен» . python-announce (Список рассылки) . Проверено 29 ноября 2019 года .
- ^ a b c Гастингс, Ларри (22 сентября 2014 г.). «PEP 478 - график выпуска Python 3.5» . Проверено 17 марта 2020 года .
- ↑ Гастингс, Ларри (8 августа 2017 г.). «[ВЫПУЩЕН] Python 3.5.4 теперь доступен» . python-announce (Список рассылки) . Проверено 29 ноября 2019 года .
- ^ a b c d Дейли, Нед (30 мая 2015 г.). «PEP 494 - график выпуска Python 3.6» . Проверено 20 апреля 2020 года .
- ^ a b c d Дейли, Нед (23 декабря 2016 г.). «PEP 537 - график выпуска Python 3.7» . Проверено 20 апреля 2020 года .
- ^ a b c d Ланга, Лукаш (27 января 2018 г.). «PEP 569 - график выпуска Python 3.8» . Проверено 20 апреля 2020 года .
- ^ a b c Ланга, Лукаш (13 октября 2020 г.). «PEP 596 - график выпуска Python 3.9» . Проверено 13 октября 2020 года .
- ^ a b Ланга, Лукаш (4 июня 2019 г.). «PEP 602 - Годовой цикл выпуска для Python» . Проверено 29 ноября 2019 года .
- ^ a b c Пабло, Пабло (25 мая 2020 г.). «PEP 619 - график выпуска Python 3.10» . Проверено 25 мая 2020 года .
Внешние ссылки [ править ]
- Блог Гвидо Ван Россума об истории Python