какая версия python сейчас

Python Releases for Windows

Stable Releases

Note that Python 3.9.8 cannot be used on Windows 7 or earlier.

Note that Python 3.10.0 cannot be used on Windows 7 or earlier.

Note that Python 3.7.12 cannot be used on Windows XP or earlier.

Note that Python 3.6.15 cannot be used on Windows XP or earlier.

Note that Python 3.9.7 cannot be used on Windows 7 or earlier.

Note that Python 3.8.12 cannot be used on Windows XP or earlier.

Note that Python 3.9.6 cannot be used on Windows 7 or earlier.

Note that Python 3.8.11 cannot be used on Windows XP or earlier.

Note that Python 3.6.14 cannot be used on Windows XP or earlier.

Note that Python 3.7.11 cannot be used on Windows XP or earlier.

Note that Python 3.9.5 cannot be used on Windows 7 or earlier.

Note that Python 3.8.10 cannot be used on Windows XP or earlier.

Note that Python 3.9.4 cannot be used on Windows 7 or earlier.

Note that Python 3.9.3 cannot be used on Windows 7 or earlier.

Note that Python 3.8.9 cannot be used on Windows XP or earlier.

Note that Python 3.9.2 cannot be used on Windows 7 or earlier.

Note that Python 3.8.8 cannot be used on Windows XP or earlier.

Note that Python 3.6.13 cannot be used on Windows XP or earlier.

Note that Python 3.7.10 cannot be used on Windows XP or earlier.

Note that Python 3.8.7 cannot be used on Windows XP or earlier.

Note that Python 3.9.1 cannot be used on Windows 7 or earlier.

Note that Python 3.9.0 cannot be used on Windows 7 or earlier.

Note that Python 3.8.6 cannot be used on Windows XP or earlier.

Note that Python 3.8.6rc1 cannot be used on Windows XP or earlier.

Note that Python 3.5.10 cannot be used on Windows XP or earlier.

Note that Python 3.7.9 cannot be used on Windows XP or earlier.

Note that Python 3.6.12 cannot be used on Windows XP or earlier.

Note that Python 3.8.5 cannot be used on Windows XP or earlier.

Note that Python 3.8.4 cannot be used on Windows XP or earlier.

Note that Python 3.8.4rc1 cannot be used on Windows XP or earlier.

Note that Python 3.7.8 cannot be used on Windows XP or earlier.

Note that Python 3.6.11 cannot be used on Windows XP or earlier.

Note that Python 3.8.3 cannot be used on Windows XP or earlier.

Note that Python 3.8.3rc1 cannot be used on Windows XP or earlier.

Note that Python 3.7.7 cannot be used on Windows XP or earlier.

Note that Python 3.8.2 cannot be used on Windows XP or earlier.

Note that Python 3.8.1 cannot be used on Windows XP or earlier.

Note that Python 3.7.6 cannot be used on Windows XP or earlier.

Note that Python 3.6.10 cannot be used on Windows XP or earlier.

Note that Python 3.5.9 cannot be used on Windows XP or earlier.

Note that Python 3.5.8 cannot be used on Windows XP or earlier.

Note that Python 3.7.5 cannot be used on Windows XP or earlier.

Note that Python 3.8.0 cannot be used on Windows XP or earlier.

Note that Python 3.7.4 cannot be used on Windows XP or earlier.

Note that Python 3.6.9 cannot be used on Windows XP or earlier.

Note that Python 3.7.3 cannot be used on Windows XP or earlier.

Note that Python 3.5.7 cannot be used on Windows XP or earlier.

Note that Python 3.7.2 cannot be used on Windows XP or earlier.

Note that Python 3.6.8 cannot be used on Windows XP or earlier.

Note that Python 3.7.1 cannot be used on Windows XP or earlier.

Note that Python 3.6.7 cannot be used on Windows XP or earlier.

Note that Python 3.5.6 cannot be used on Windows XP or earlier.

Note that Python 3.7.0 cannot be used on Windows XP or earlier.

Note that Python 3.6.6 cannot be used on Windows XP or earlier.

Note that Python 3.6.5 cannot be used on Windows XP or earlier.

Note that Python 3.5.5 cannot be used on Windows XP or earlier.

Note that Python 3.6.4 cannot be used on Windows XP or earlier.

Note that Python 3.6.3 cannot be used on Windows XP or earlier.

Note that Python 3.5.4 cannot be used on Windows XP or earlier.

Note that Python 3.6.2 cannot be used on Windows XP or earlier.

Note that Python 3.6.1 cannot be used on Windows XP or earlier.

Note that Python 3.5.3 cannot be used on Windows XP or earlier.

Note that Python 3.6.0 cannot be used on Windows XP or earlier.

Note that Python 3.5.2 cannot be used on Windows XP or earlier.

Note that Python 3.5.1 cannot be used on Windows XP or earlier.

Note that Python 3.5.0 cannot be used on Windows XP or earlier.

Источник

Download the latest source release

Download the latest version of Python

Looking for Python with a different OS? Python for Windows, Linux/UNIX, macOS, Other

Want to help test development versions of Python? Prereleases, Docker images

Looking for Python 2.7? See below for specific releases

Active Python Releases

Looking for a specific release?

Python releases by version number:

Sponsors

Visionary sponsors like Google help to host Python downloads.

Licenses

All Python releases are Open Source. Historically, most, but not all, Python releases have also been GPL-compatible. The Licenses page details GPL-compatibility and Terms and Conditions.

Sources

For most Unix systems, you must download and compile the source code. The same source code archive can also be used to build the Windows and Mac versions, and is the starting point for ports to all other platforms.

Download the latest Python 3 and Python 2 source.

Alternative Implementations

This site hosts the «traditional» implementation of Python (nicknamed CPython). A number of alternative implementations are available as well.

History

Python was created in the early 1990s by Guido van Rossum at Stichting Mathematisch Centrum in the Netherlands as a successor of a language called ABC. Guido remains Python’s principal author, although it includes many contributions from others.

Release Schedules

Information about specific ports, and developer info

OpenPGP Public Keys

Source and binary executables are signed by the release manager or binary builder using their OpenPGP key. Release files for currently supported releases are signed by the following:

Release files for older releases which have now reached end-of-life may have been signed by one of the following:

You can import a person’s public keys from a public keyserver network server you trust by running a command like:

or, in many cases, public keys can also be found at keybase.io. On the version-specific download pages, you should see a link to both the downloadable file and a detached signature file. To verify the authenticity of the download, grab both files and then run this command:

Note that you must use the name of the signature file, and you should use the one that’s appropriate to the download you’re verifying.

Other Useful Items

Want to contribute?

Want to contribute? See the Python Developer’s Guide to learn about how Python development is managed.

Источник

Что нового появилось в Python в 2021 году?

какая версия python сейчас. Смотреть фото какая версия python сейчас. Смотреть картинку какая версия python сейчас. Картинка про какая версия python сейчас. Фото какая версия python сейчас

Краткая история Python

Python был разработан около тридцати лет назад, первая его официальная версия вышла в 1991 году и имела номер 0.9. После этого довольно долгое время язык развивался, и популярность он получил в 2000-х годах, во время мажорной второй версии. Однако уже тогда было понятно, что в языке необходимы изменения, которые будут обратно несовместимы с текущими версиями, такие как например, изменения в поведении юникодных строк. Однако вторая версия Python была уже очень популярна к этому моменту, поэтому третья работа над третьей версией велась одновременно с работой над 2.7. Довольно долго у core-разработчиков Python не было определенной стратегии, поэтому до версии 3.4 изменения были довольно хаотичны.

какая версия python сейчас. Смотреть фото какая версия python сейчас. Смотреть картинку какая версия python сейчас. Картинка про какая версия python сейчас. Фото какая версия python сейчас

С 2019 года Python адаптирует годичные релизные циклы. Это изменение было представлено в PEP-602 Что это значит для пользоватеоей Python?

What’s new in Python 3.9?

Релиз Python 3.9 произошел 2020-10-05. Рассмотрим что есть нового в этой версии.

Работа со словарями

Допустим, есть два словаря, которые мы зотим объединить.

В версиях до 3.9 можно было бы сделать таким образом:

Синтаксис ** разворачивает словарь, и когда они объединяются, более позднее значение затирается более новым. Аналогичные дейтсвия можно совершить, если использовать следующий синтаксис:

Этот способ пойдойдет в случае если нужно изменить первоначальный словарь.

В библиотеке collections есть объект ChainMap, который тоже обхединяет словари, но его результатом будет объект ChainMap, а не словарь. Он состоит из нескольких словарей, следующих друг за другом. Если взять значение по ключу, то вернется то значение, которое встречается раньше. То есть, в этом примере для ключа 2019, вернется значение Cleveland

В Python 3.8 был представлен walrus-оператор. С его помощью можно решить проблему примера с update и скопировать словарь в новую переменную:In [11]:

В Python 3.9 в PEP-0614 добавлен синтаксис | (читается как pipe), который объединяет словари аналогично первому примеру:

При этом первоначальный словарь не меняется:

Если все-таки нужно обновить первоначальный словарь, можно воспользоваться синтаксисом |= (работает по аналогии с +=): a |= b a = a|bIn [16]:

Важно помнить, что поскольку более поздние значения перезаписывают более ранние значения, эта операция может быть не коммуникативна.

Синтаксис | работает только непосредственно со словарями, тогда как синтаксис ** работает и с orderedict и с другими подобными словарям объектами.

Изменения в работе с декораторами

До версии 3.9 в качестве декораторов могли выступать функции или классы, но не такие объекты как списки или словари. Рассмотрим пример, в котором это будет удобно использовать. Допустим есть UI-приложение с кнопками, и нужно добавить какое-то сообщение по нажатию на каждую кнопку. Было бы удобно это сделать с помощью декоратора, но что делать, если для каждой кнопки нужно печатать различные сообщения. Это можно сделать следующим образом:In [ ]:

Создаем list comprehension из функций, явно присваем объектам значения элементов списка, и их можно использовать в качестве декораторов. Это будет работать, однако не будет эффективно, если объектов из которых будут созданы декораторы, будет достаточно много.

Это не единственный способ, но другие будут довольно неоднозначными. Рассмотрим два из них. В первом случае создадим функцию, которая будет возвращать необходимую для декоратора функцию:In [ ]:

Использование eval :In [ ]:

В Python 3.9 стало возможно создавать декораторы из любых объектов, например из элементов списков и словарей. Можно рассмотреть синтаксис, который реализует тот же самый пример:

Похожим образом будет выглядеть синтаксис для значений словаря:

Изменения в синтаксисе типирования

Дженерики

Дженерики это типы, которые могут быть параметризованы, обычно являются контейнерами, например dict. Параметризованные дженерики это типы, для которых указан внутренний тип, например dict[str, int]

Начиная с Python 3.7 стало можно указывать тип объекта, конкретизируя тип внутренних элементов контейнеры. Но для этого нужно было импортировать таки типы как List из модуля typing :

Можно было не конкретизировать тип внутренних значений, для этого не нужно было импортировать дополинтельные типы и можно было использовать стандартные типы dict и list. Благодаря этому нововведению, внешние библиотеки такие как Mypy стали распознавать дженерики.

Также, в версии 3.9 стало можно пользоваться аннотациями без явного их импорта из модуля __future__

Расширение возможностей аннотаций

Аннотации были доступны для использования и в более ранних версиях Python, однако их функция была скорее информационной, использовались они в первую очередь для документации. Синтаксис использования аннотаций до Python 3.9 выглядел таким образом:

В Python 3.9 появился новый объект типа Annotated, который принимает на вход два аргумента, первый это реальный тип, которым должен обладать аннотриуемый объект, а второй это название для целей документации:

Когда происходит проверка аннотаций, проверяется только первый аргумент, в котором находится «реальный» тип объекта, а второй использовуется как и в предыдущих версиях:

Изменения связанные с часовыми поясами

Однако начиная с Python 3.9 появился модуль zoneinfo, который содержит информацию о часовых поясах и позволяет создавать объекты им соответствующие:

В стандартной библиотеке не было информации ни о каких часовых поясах, кроме utc, и необходимо было использовать pytz чтобы создать объект, содержащий информацию о часовом поясе. Теперь это можно сделать без установки дополнительных библиотек:In [32]:

Новые методы работы со строкам

Python 3.10

Последняя версия Python 3.10 это 0b3, которая вышла 17 июня 2021 года. Согласно расписанию релизов, полноценный релиз появится примерно в октябре 2021. Пока официального релиза нет, версия не доступна в пакетных менеджерах (таких как brew). Соответственно, чтобы ее установить, билд нужно скачать вручную с www.python.org и уствноваить на своей машине. Рассмотрим изменения, доступные в этой Python 3.9.

Pattern Matching

В более ранних версиях Python если нужно описать различное поведение, в зависимости от того, какой объект используется, скорее всего будет использоваться условный оператор:In [ ]:

Однако в Python 3.10 вместе с PEP-0635 будет добавлен новый оператор match, который может использоваться с case:In [ ]:

Также с его помощью будет удобно реализовывать, например, обработку ошибок:In [ ]:

Это одно из самых «громких» нововведений в последних версиях Python и возможно самое ожидаемое коммьюнити.

Более удобное использование Union для типирования:

Если раньше чтобы указать, что аргумент функции может быть одним из нескольких типов, необходимо было использовать Union, импортируемый из пакета typing:In [ ]:

То начиная с Python 3.10 можно будет заменить его оператором pipe | и, соответственно, избавиться от импорта:In [ ]:

Контекстные менеджеры

Более информативные сообщения об ошибках

Наверняка многие из читателей сталкивались с тем, что сообщение об ошибке слишком общее и само по себе не говорит о том, что нужно сделать чтобы ошибку исправить. В новой версиеи Python core-разработчики улучшили самые распространенные из них и теперь сообщения об ошибках будут намного более читабельными:In [ ]:

Остальное

Это не все изменения которые попадут в Python 3.10, с полным списком можно ознакомиться посмотрев список изменений.

Источник

Что нового в Python? Руководство по Python 3 и выше

Обновление с одной версии языка программирования Python до другой может быть настоящей проблемой. Это еще сложнее, если вы пропустили несколько промежуточных версий. Какие самые важные различия? Как они соотносятся с версией, с которой вы знакомы?

Сегодня мы ответим на все эти вопросы от Python 3.0 до Python 3.8. Мы проведем вас через все самые большие изменения, их сравнение с предыдущими версиями Python, и покажем вам примеры кода, которые помогут вам реализовать свой собственный современный код Python. В конце разделов вы получите загружаемый чит-лист, который вы сможете взять с собой, продолжая свой путь к программному обеспечению Python.

Python 2.x против Python 3.0

Python 3 внес много изменений, чтобы упростить синтаксис Python и добавить новые функции. Каждое из этих изменений может показаться незначительным, но вместе они могут серьезно повлиять на работу вашей программы.

В целом Python 3.x имеет:

Далее мы рассмотрим важные синтаксические изменения, которые помогут вам адаптироваться к Python 3.

Print()

В Python 3.0 поведение печати изменилось с оператора на функцию Python. Теперь поле печати должно быть заключено в круглые скобки как параметр для правильной работы.

Переход от printоператора к printфункции также повлиял на некоторые общие способы печати, такие как разрывы строк и печать в файл.

Во всех версиях Python каждый вызов печати заканчивается разрывом строки. Однако иногда вам нужно печатать в той же строке.

В Python 2 вы могли печатать в той же строке с запятой в конце:

В Python 3 вместо этого вы используете endаргумент ключевого слова после первой строки.

Наконец, Python 3 сделал синтаксис для печати в файл более читабельным.

Версия Python 3 избавляется от символов `>>` в пользу более интуитивно понятного `file =`. Он также изменяет порядок аргументов в соответствии с бизнес-логикой операции, как мы бы сказали «печать ___ в файл ___» поверх «на файл ___, печать ____».

Строки в Unicode и ASCII

В Python 2 все строки по умолчанию сохраняются как ASCII. Они могут быть сохранены как Unicode, используя uперед строкой.

В Python 3 все строки по умолчанию хранятся в Юникоде. Unicode предпочтительнее ASCII во всем мире, потому что Unicode поддерживает переменную битовую кодировку и другие наборы символов.

Изменение Python 3 для поддержки Unicode по умолчанию гарантирует, что вы всегда будете использовать лучший протокол кодирования, если вы специально не откажетесь.

Целочисленное деление

Деление между двумя целыми числами в Python 2 по умолчанию округляется до ближайшего целого числа. Разработчики Python должны были постоянно помнить об этом, чтобы предотвратить странное поведение в своих программах.

Теперь в Python 3 операция динамически переводит типы данных в число с плавающей запятой, если результатом является десятичное значение. Каждое частное теперь будет отражать истинное математическое значение без округления. Вам больше не нужно помнить тонкости работы, и вместо этого вы можете сосредоточиться на своем проекте.

Python2

Python3

Range против xrange

range()Функция Python 3 заменяет xrange()функцию Python2. Новая, более чистая функция дает тот же результат.

В Python 2 range()возвращал список, а xrange()возвращал объект-итератор xrange. В большинстве случаев они могут использоваться как взаимозаменяемые. Теперь range()поведение Python 2 было удалено.

Python2

Python3

Обработка ошибок

Python 3 теперь требует asключевое слово при реализации обработки ошибок. Это изменение отделяет синтаксис обработки ошибок от синтаксиса параметров функции и упрощает чтение кода обработки ошибок с первого взгляда. Многие разработчики, переходящие с Python 2 на Python 3.0, упускают из виду это небольшое, но важное изменение.

Исходный код и совместимость библиотек

Код Python 2.x может быть совместим с Python 3, но часто приводит к неожиданному поведению. Однако код Python 3 нельзя запускать с Python 2.

Хотя код Python 2.x можно портировать, библиотеки часто не могут. Перенос библиотек Python 2 на Python 3 может быть трудным и ненадежным. Поскольку все больше пользователей продолжают внедрять новые функции Python 3, большинство разработчиков больше не создают или обновляют библиотеки из Python 2.

В конечном итоге вам придется перейти на Python 3, если вы хотите использовать новейшие инструменты и методы из современных библиотек, пакетов и модулей, особенно тех, которые используются для машинного обучения.

Например, Django для работы требуются современные библиотеки. В результате Django больше не поддерживает версии Python 2.x с обновлениями. Django 1.11 был последней версией, поддерживающей Python 2.7. Теперь Django рекомендует вам загрузить новейшую версию языка программирования Python, чтобы получить лучшие возможности и возможности веб-разработки.

Шпаргалка по Python 3

какая версия python сейчас. Смотреть фото какая версия python сейчас. Смотреть картинку какая версия python сейчас. Картинка про какая версия python сейчас. Фото какая версия python сейчас

Python 3.7 против 3.8

Самая последняя версия Python — это версия 3.8. Независимо от того, используете ли вы Python 2 или более раннюю версию Python 3, важно понимать новейшие функции, доступные в этом мощном обновлении.

Ниже мы рассмотрим самые большие изменения с Python 3.7 до 3.8 с примерами кода и пояснениями, которые помогут вам использовать самую современную версию Python, независимо от того, с какой предыдущей версией вы работали.

Выражения присваивания

Выражения присваивания — самая большая функция, добавленная в Python 3.8. С помощью этих выражений вы можете назначать и возвращать значение переменной всего в одной строке. Назначение выражение записывается с новым оператором моржа, (:=).

Python3.x

Python3.8

Вместо использования двух строк мы используем оператор моржа, чтобы установить и распечатать значение varв одной строке. Этот тип структуры имеет большой потенциал в больших многомерных решениях, особенно при использовании в качестве временной переменной в цикле.

Посмотрите, насколько мы можем упростить эту более сложную программу:

Python3.x

Python3.8

Здесь мы используем оператор моржа для создания временной переменной, currentкоторая назначается как строка ввода пользователя. Он также оценивается при присвоении, чтобы увидеть, соответствует ли оно «концу». Программа повторяет цикл и добавляет новый элемент в конец списка.

Эта программа может создать весь управляемый вводом список с помощью всего 3 строк кода!

Отладка f-String

Относительно новые «f-строки» также получили обновление в Python 3.8. Напоминаем, что f-строки — это упрощенный способ печати операторов с вычисленными переменными без объединения строк вручную. Представленные в Python 3.6, они стали одной из самых популярных частей современного Python. Фактически, они считаются основной причиной того, что так много библиотек Python совместимы только с версиями после 3.6.

F-строки — это форматированный строковый литерал, распознаваемый по кавычке fперед открывающей кавычкой строки. Любое имя переменной в фигурных скобках оценивается, и его значение плавно добавляется в строку.

Взгляните на пример:

Это позволяет легко создавать динамические строки без загроможденного синтаксиса.

Начиная с Python 3.8, теперь вы можете добавить =переменную после фигурной скобки, чтобы напечатать как выражение, так и переменную.

Это наиболее полезно для отладки, поскольку позволяет увидеть, как программа достигает этих значений.

В версиях до 3.8 вам нужно было бы повторить выражение перед фигурными скобками, чтобы получить тот же эффект:

Вы также можете использовать выражения присваивания в f-строках для создания компактных и динамических строк:

Только позиционные аргументы

В Python 3.8 теперь вы можете определять только позиционные аргументы для своих собственных функций. Только позиционные аргументы могут быть назначены только по их положению в аргументе функции и вызовут ошибку, если вы попытаетесь назначить их с помощью ключевых слов. Вы используете символ /в аргументах функции, чтобы обозначить, что все предыдущие аргументы должны быть только позиционными.

В строке 1 мы указываем, что nameдолжно быть передано позиционно (после /), а spaceдолжно быть передано с его ключевым словом. В строке 4 мы успешно вызываем parkingSpaceи позиционируем значение nameсо значением по умолчанию для space. Также в строке 7 мы parkingSpaceснова успешно вызываем, но на этот раз мы присваиваем новое значение spaceс его ключевым словом. Наконец, в строке 10 мы вызываем parkingSpaceв третий раз, но назначаем nameего ключевым словом, а не позиционно, и получаем ошибку.

Только позиционные аргументы обеспечивают расширенную функциональность, но не всегда необходимы.

Используйте только позиционные аргументы, когда:

Предупреждения синтаксиса

Python 3.8 добавляет два новых предупреждения в список Python SyntaxWarnings. Первое предупреждение, которое покажет вам, когда выбрать isболее ==. Они немного отличаются, и их легко смешать. Последний проверяет равные значения, а isвозвращает True, только это одни и те же объекты.

Другое предупреждение — это исправленный SyntaxWarning, когда вы пропускаете запятую в списке. В предыдущих версиях пропущенные запятые в списке кортежей приводили к ошибке: «Кортежи не вызываются». Это сбивало с толку пользователей Python, поскольку в большинстве случаев им не хватало запятой.

Теперь Python 3.8 правильно определяет ошибку:

Шпаргалка по Python 3.8

какая версия python сейчас. Смотреть фото какая версия python сейчас. Смотреть картинку какая версия python сейчас. Картинка про какая версия python сейчас. Фото какая версия python сейчас

Что учить дальше

Вы только что узнали обо всех наиболее важных обновлениях Python 3 и 3.8. Если какое-либо из этих изменений кажется привлекательным, я рекомендую вам обновить его сейчас и начать реализацию этих новых функций. Важно быть современным разработчиком Python.

Даже если вас не интересует какая-либо конкретная функция, Python с каждым обновлением становится быстрее и требует меньше памяти. Если вы внесете изменения сейчас и начнете практиковать новый синтаксис, вы сможете продемонстрировать свои современные навыки интервьюеру!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *