Документация по языку python3
Содержание:
- Язык программирования Python
- Major new features of the 3.8 series, compared to 3.7
- macOS users
- Major new features of the 3.8 series, compared to 3.7
- Приоритет
- Модуль оператора Python
- This is the fourth maintenance release of Python 3.9
- Побитовые
- This is a beta preview of Python 3.10
- Major new features of the 3.10 series, compared to 3.9
- More resources
- And now for something completely different
- Метод pop()
- 8 ответов
- Учебники для научной аудитории
- Major new features of the 3.9 series, compared to 3.8
- Основные операторы
- Major new features of the 3.8 series, compared to 3.7
- Other Useful Items
- Синтаксис
- OpenPGP Public Keys
- And now for something completely different
Язык программирования Python
Последнее обновление: 06.11.2020
Python представляет популярный высокоуровневый язык программирования, который предназначен для создания приложений различных типов.
Это и веб-приложения, и игры, и настольные программы, и работа с базами данных.
Довольно большое распространение питон получил в области машинного обучения и исследований искусственного интеллекта.
Основные особенности языка программирования Python:
-
Скриптовый язык. Код программ определяется в виде скриптов.
-
Поддержка самых различных парадигм программирования, в том числе объектно-ориентированной и функциональной парадигм.
-
Интерпретация программ. Для работы со скриптами необходим интерпретатор, который запускает и выполняет скрипт.
Выполнение программы на Python выглядит следующим образом. Сначала мы пишим в текстовом редакторе скрипт с набором выражений на данном языке программирования. Передаем этот скрипт
на выполнение интерпретатору. Интерпретатор транслирует код в промежуточный байткод, а затем виртуальная машина переводит полученный байткод в набор инструкций, которые выполняются операционной системой.Здесь стоит отметить, что хотя формально трансляция интерпретатором исходного кода в байткод и перевод байткода виртуальной машиной в набор машинных команд представляют
два разных процесса, но фактически они объединены в самом интерпретаторе. -
Портативность и платформонезависимость. Не имеет значения, какая у нас операционная система — Windows, Mac OS, Linux, нам достаточно написать скрипт, который будет запускаться на всех этих ОС
при наличии интерпретатора -
Автоматическое управление памяти
-
Динамическая типизация
Python — очень простой язык программирования, он имеет лаконичный и в то же время довольно простой и понятный синтаксис. Соответственно его
легко изучать, и собственно это одна из причин, по которой он является одним из самых популярных языков программирования именно для обучения. В частности, в 2014 году он был
признан самым популярным языком программирования для обучения в США.
Python также популярен не только в сфере обучения, но в написании конкретных программ в том числе коммерческого характера. В немалой степени
поэтому для этого языка написано множество библиотек, которые мы можем использовать.
Кроме того, у данного языка программирования очень большое коммьюнити, в интернете можно найти по данному языку множество полезных материалов, примеров, получить
квалифицированную помощь специалистов.
Установка Python
По нажатию на кнопку будет загружен соответствующей текущей ОС установщик Python.
На ОС Windows при запуске инсталлятора запускает окно мастера установки:
Здесь мы можем задать путь, по которому будет устанавливаться интерпретатор. Оставим его по умолчанию, то есть
C:\Users\\AppData\Local\Programs\Python\Python36\.
Кроме того, в самом низу отметим флажок «Add Python 3.9 to PATH», чтобы добавить путь к интерпретатору в переменные среды.
После установки в меню Пуск на ОС Windows мы сможем найти иконки для доступа к разным утилитам питона:
Здесь утилита Python 3.9 (64-bit) представляет интерпретатор, в котором мы можем запустить скрипт. В файловой системе сам файл интерпретатора можно найти по пути,
по которому производилась установка. На Windows по умолчанию это путь C:\Users\\AppData\Local\Programs\Python\Python37, а сам интерпретатор представляет
файл python.exe. На ОС Linux установка производится по пути /usr/local/bin/python3.9.
Вперед
Major new features of the 3.8 series, compared to 3.7
- PEP 572, Assignment expressions
- PEP 570, Positional-only arguments
- PEP 587, Python Initialization Configuration (improved embedding)
- PEP 590, Vectorcall: a fast calling protocol for CPython
- PEP 578, Runtime audit hooks
- PEP 574, Pickle protocol 5 with out-of-band data
- Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict)
- Parallel filesystem cache for compiled bytecode
- Debug builds share ABI as release builds
- f-strings support a handy specifier for debugging
- is now legal in blocks
- on Windows, the default event loop is now
- on macOS, the spawn start method is now used by default in
- can now use shared memory segments to avoid pickling costs between processes
- is merged back to CPython
- is now 40% faster
- now uses Protocol 4 by default, improving performance
There are many other interesting changes, please consult the «What’s New» page in the documentation for a full list.
macOS users
- For Python 3.8, we provide one installer: 64-bit-only that works on macOS 10.9 (Mavericks) and later systems.
- Please read the «Important Information» displayed during installation for information about SSL/TLS certificate validation and the running the «Install Certificates.command».
Version | Operating System | Description | MD5 Sum | File Size | GPG |
---|---|---|---|---|---|
Gzipped source tarball | Source release | 41a5eaa15818cee7ea59e578564a2629 | 24493475 | SIG | |
XZ compressed source tarball | Source release | 51b5bbf2ab447e66d15af4883db1c133 | 18271948 | SIG | |
macOS 64-bit Intel installer | macOS | for macOS 10.9 and later | 2323c476134fafa8b462530019f34394 | 29843142 | SIG |
Windows embeddable package (32-bit) | Windows | 40830c33f775641ccfad5bf17ea3a893 | 7335613 | SIG | |
Windows embeddable package (64-bit) | Windows | cff9e470ee6b57c63c16b8a93c586b28 | 8199294 | SIG | |
Windows help file | Windows | 678cdc8e46b0b569ab9284be689be807 | 8592697 | SIG | |
Windows installer (32-bit) | Windows | 1b5456a52e2017eec31c320f0222d359 | 27150976 | SIG | |
Windows installer (64-bit) | Windows | Recommended | f69d9c918a8ad06c71d7f0f26ccfee12 | 28233448 | SIG |
Major new features of the 3.8 series, compared to 3.7
- PEP 572, Assignment expressions
- PEP 570, Positional-only arguments
- PEP 587, Python Initialization Configuration (improved embedding)
- PEP 590, Vectorcall: a fast calling protocol for CPython
- PEP 578, Runtime audit hooks
- PEP 574, Pickle protocol 5 with out-of-band data
- Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict)
- Parallel filesystem cache for compiled bytecode
- Debug builds share ABI as release builds
- f-strings support a handy specifier for debugging
- is now legal in blocks
- on Windows, the default event loop is now
- on macOS, the spawn start method is now used by default in
- can now use shared memory segments to avoid pickling costs between processes
- is merged back to CPython
- is now 40% faster
- now uses Protocol 4 by default, improving performance
There are many other interesting changes, please consult the «What’s New» page in the documentation for a full list.
Приоритет
Иногда выражение содержит несколько операторов. В этом случае приоритет оператора используется для определения порядка выполнения.
- Мы можем создать группу выражений, используя круглые скобки. Выражение в скобках сначала вычисляется, прежде чем они смогут участвовать в дальнейших вычислениях.
- Некоторые операторы имеют одинаковый уровень приоритета. В этом случае выражение оценивается слева направо.
В таблице ниже перечислены приоритеты операторов в порядке убывания.
Приоритет |
---|
** (экспонента) |
~ (Дополнение к единицам) |
*, /, //, % (Умножение, Деление, Операторы Модуля) |
+, – (Сложение, Вычитание) |
<<, >> (операторы сдвига вправо и влево) |
& (побитовый AND) |
|, ^ (побитовый OR, XOR) |
==, !=, >, <, >=, <= (сравнения) |
=, +=, -=, *=, /=, //=, %= (присваивания) |
is, is not (идентификации) |
in, not in (принадлежности) |
not, and, or (логические) |
Модуль оператора Python
Модуль операторов Python предоставляет набор функций, соответствующих операторам в Python. Эти имена функций такие же, как и у специальных методов, без двойных подчеркиваний.
Давайте посмотрим на пример настраиваемого класса, который поддерживает операторы — +,> и *. Мы будем использовать функции операторского модуля для вызова этих методов для объектов класса.
import operator class Data: id = 0 def __init__(self, i): self.id = i def __add__(self, other): return Data(self.id + other.id) def __gt__(self, other): return self.id > other.id def __mul__(self, other): return Data(self.id * other.id) d1 = Data(10) d2 = Data(20) d3 = operator.add(d1, d2) print(d3.id) d3 = operator.mul(d1, d2) print(d3.id) flag = operator.gt(d1, d2) print(flag)
This is the fourth maintenance release of Python 3.9
Python 3.9.4 is a hotfix release addressing an unintentional ABI incompatibility introduced in Python 3.9.3. Upgrading is highly recommended to all users. Details in bpo-43710.
To reiterate, Python 3.9.3 was itself an expedited release due to its security content:
- bpo-43631: high-severity CVE-2021-3449 and CVE-2021-3450 were published for OpenSSL, it’s been upgraded to 1.1.1k in CI, and macOS and Windows installers.
- bpo-42988: CVE-2021-3426: Remove the getfile feature of the pydoc module which could be abused to read arbitrary files on the disk (directory traversal vulnerability). Moreover, even source code of Python modules can contain sensitive data like passwords. Vulnerability reported by David Schwörer.
- bpo-43285: ftplib no longer trusts the IP address value returned from the server in response to the PASV command by default. This prevents a malicious FTP server from using the response to probe IPv4 address and port combinations on the client network. Code that requires the former vulnerable behavior may set a trust_server_pasv_ipv4_address attribute on their ftplib.FTP instances to True to re-enable it.
- bpo-43439: Add audit hooks for gc.get_objects(), gc.get_referrers() and gc.get_referents(). Patch by Pablo Galindo.
Побитовые
Их также называют бинарными операторами, и они работают только с целыми числами. Значения операндов преобразуются в двоичные, а затем операция выполняется для каждого бита. Наконец, значение преобразуется обратно в десятичное и возвращается.
В Python 6 побитовых операторов.
- : Побитовый оператор И;
- | : Побитовый оператор ИЛИ;
- ^: Побитовый оператор XOR;
- ~: Оператор дополнения двоичных единиц;
- <<: оператор двоичного сдвига влево;
- >>: оператор двоичного сдвига вправо.
x = 10 # 1010 y = 4 # 0100 print(f'Binary AND = {x y}') print(f'Binary OR = {x | y}') print(f'Binary XOR = {x ^ y}') print(f'Binary Ones Complement = {~x}') print(f'Binary Left Shift by 2 = {x << 2}') print(f'Binary Right Shift by 3 = {x >> 3}')
Вывод:
Binary AND = 0 Binary OR = 14 Binary XOR = 14 Binary Ones Complement = -11 Binary Left Shift by 2 = 40 Binary Right Shift by 3 = 1
This is a beta preview of Python 3.10
Python 3.10 is still in development. 3.10.0b3 is the third of four planned beta release previews. Beta release previews are intended to give the wider community the opportunity to test new features and bug fixes and to prepare their projects to support the new feature release.
We strongly encourage maintainers of third-party Python projects to test with 3.10 during the beta phase and report issues found to the Python bug tracker as soon as possible. While the release is planned to be feature complete entering the beta phase, it is possible that features may be modified or, in rare cases, deleted up until the start of the release candidate phase (Monday, 2021-08-02). Our goal is to have no ABI changes after beta 4 and as few code changes as possible after 3.10.0rc1, the first release candidate. To achieve that, it will be extremely important to get as much exposure for 3.10 as possible during the beta phase.
Please keep in mind that this is a preview release and its use is not recommended for production environments.
Major new features of the 3.10 series, compared to 3.9
Many new features for Python 3.10 are still being planned and written. Among the new major
new features and changes so far:
- PEP 623 — Deprecate and prepare for the removal of the wstr member in PyUnicodeObject.
- PEP 604 — Allow writing union types as X | Y
- PEP 612 — Parameter Specification Variables
- PEP 626 — Precise line numbers for debugging and other tools.
- PEP 618 — Add Optional Length-Checking To zip.
- bpo-12782: Parenthesized context managers are now officially allowed.
- PEP 632 — Deprecate distutils module.
- PEP 613 — Explicit Type Aliases
- PEP 634 — Structural Pattern Matching: Specification
- PEP 635 — Structural Pattern Matching: Motivation and Rationale
- PEP 636 — Structural Pattern Matching: Tutorial
- PEP 644 — Require OpenSSL 1.1.1 or newer
- PEP 624 — Remove Py_UNICODE encoder APIs
-
PEP 597 — Add optional EncodingWarning
-
(Hey, fellow core developer, if a feature you find important is missing from this list, let Pablo know.)
The next pre-release of Python 3.10 will be 3.10.0b4, currently scheduled for Saturday, 2021-07-10.
bpo-38605: (PEP 563) used to be on this list
in previous pre-releases but it has been postponed to Python 3.11 due to some compatibility concerns. You can read the Steering Council communication about it here to learn more.
More resources
- Online Documentation
- PEP 619, 3.10 Release Schedule
- Report bugs at https://bugs.python.org.
- Help fund Python and its community.
And now for something completely different
There are no green stars. Why? In general, objects don’t emit a single wavelength of light when they shine. Instead, they emit photons in a range of wavelengths. If you were to use some sort of detector that is sensitive to the wavelengths of light emitted by an object, and then plotted the number of them versus wavelength, you get a lopsided plot called a blackbody curve. For an object as hot as the Sun, that curve peaks at blue-green, so it emits most of its photons there. But it still emits some that are bluer, and some that are redder. When we look at the Sun, we see all these colors blended together. Our eyes mix them up to produce one color: white. A warmer star will put out more blue, and a cooler one redder, but no matter what, our eyes just won’t see that as green. Due to how we perceive color, the only way to see a star as being green is for it to be only emitting green light. But as starts always emit radiation following the blackbody curve, that’s pretty much impossible.
Version | Operating System | Description | MD5 Sum | File Size | GPG |
---|---|---|---|---|---|
Gzipped source tarball | Source release | ad9200d73f29f407f60cdefbd009a477 | 24923517 | SIG | |
XZ compressed source tarball | Source release | 760a09c3773ad44ba48bf9bcb09c3c64 | 18640292 | SIG | |
macOS 64-bit universal2 installer | macOS | for macOS 10.9 and later, including macOS 11 Big Sur on Apple Silicon (experimental) | 535d99735a7b3dde52c5a81bfb6bb713 | 39608144 | SIG |
Windows embeddable package (32-bit) | Windows | 224b7d47fdc81ca354b6bf458639bc5b | 7476046 | SIG | |
Windows embeddable package (64-bit) | Windows | f54b23dfda14e40c2cb23e7179f46908 | 8457563 | SIG | |
Windows help file | Windows | d11cd6dfe2294576d03fc1a0c4ecb834 | 9541464 | SIG | |
Windows installer (32-bit) | Windows | 4e14c9f67eaed17ec52cc110854fca7a | 27056200 | SIG | |
Windows installer (64-bit) | Windows | Recommended | 477c10f34a391029ee675e3f0e3c728b | 28211568 | SIG |
Метод pop()
Метод используется для получения конкретного значения по ключу и удаления этого элемента из словаря на основе значения ключа.
Синтаксис:
У этого метода два аргумента. Первый аргумент является обязательным и используется для указания ключа. Второй аргумент опционален. Он используется для установки значения по умолчанию, которое будет возвращено, если указанного в первом аргументе ключа не окажется в словаре.
Для лучшего понимания рассмотрим пример. Объявим словарь с именем , содержащий четыре элемента.
Сначала используем в качестве ключа , а дополнительное значение указывать не будем.
# Определяем словарь dictvar = { 'Name': 'Sakib Al Hasan', 'Profession': 'Cricketer','Phone':'01866564234', 'Salary':300000 } # Выводим содержимое словаря print("\nThe content of the dictionary:\n",dictvar) # Читаем и удаляем значение по ключу, если ключ существует print("\nThe phone no is:", dictvar.pop('Phone')) # Выводим содержимое словаря после применения метода pop print("\nThe content of the dictionary after pop:\n",dictvar)
Результат:
Ключ в словаре есть. Поэтому при использовании метода возвращается его значение, после чего этот элемент удаляется из словаря.
А теперь давайте применим метод с тем же первым аргументом (), но к нему добавим и второй, необязательный аргумент.
# Читаем значение ключа, которого нет в словаре print("\nThe phone no is:", dictvar.pop('Phone','01766345234'))
Результат:
При втором вызове метода мы использовали тот же первый аргумент, но такой элемент уже был удален из словаря предыдущим . Поэтому возвращается значение, заданное в опциональном аргументе метода .
8 ответов
Лучший ответ
В python фраза присвоит значение значению . Однако фраза будет увеличиваться до текущего значения . Например:
4
Everyone_Else
17 Июн 2016 в 18:49
присваивает значение переменной . такой же, как . Другими словами, добавляет значение к уже существующему значению. Пример:
Это потому, что никогда не был назначен значению. Чтобы понять, что происходит, посмотрите на следующий код:
Martin Hallén
17 Июн 2016 в 18:53
устанавливает в то же значение, что и — если равно 5, а равно 3, теперь равно 3.
является сокращением для . Так что если равно 5, а равно 3, то foo теперь равно 8
На самом деле это использует все, что означает в контексте, поэтому, если — «Строка», а — «бар», делает = = «Струнный бар»
Delioth
17 Июн 2016 в 18:51
Быстрые заметки:
: присвойте значение переменной
: сумма к текущему значению
является кратким обозначением для
Вы можете сделать , он будет воспроизводить
Вы можете либо , и
Пример:
dot.Py
17 Июн 2016 в 18:55
В питоне
присваивает значение a + b в c
эквивалентно c = c + a
robert.otherone
17 Июн 2016 в 18:53
Как и во многих других языках, является «ярлыком».
Назначает ссылку на объект с правой стороны на имя слева.
Концептуально добавляет объект или размер правой руки к объекту, указанному слева. Концептуально так же, как:
Я говорю «концептуально», потому что оператор может делать разные вещи в зависимости от класса объекта слева. Например, с целым числом он просто добавляет, со строкой () он добавляет к строке, а добавляет новый элемент в правую часть списка.
4
cdarke
17 Июн 2016 в 18:57
инициирует переменную равной 4
на самом деле . Если вы попытаетесь сделать без инициализации x, вы получите ошибку имени
af3ld
17 Июн 2016 в 18:53
= используется для присвоения значения переменной. например: c = 1 + c (который присваивает значение c + 1 c, поэтому он увеличивает c на 1)
+ = используется для увеличения переменной на определенное значение. например: с + = 1 (который
purpule
17 Июн 2016 в 18:52
Учебники для научной аудитории
- Beginning Python for Bioinformatics Патрика О’Брайена. Введение в Python для биологов.(К сожалению не удалось найти в сети. Книги с похожей тематикой: Bioinformatics Programming Using Python и Bioinformatics with Python Cookbook)
- Python for Number Theory — это серия уроков по Python (для Jupyter) для применения этого языка программирования в теории чисел и криптографии. Они не требуют предшествующего опыта программирования и подходят для тех, кто изучает элементарную теорию чисел. Введение курса включают тест простоты и протокол Диффи — Хеллмана.
- Python for biologists содержит различные ресурсы по обучению на Python для людей с опытом работы в области биологии.
Major new features of the 3.9 series, compared to 3.8
Some of the new major new features and changes in Python 3.9 are:
- PEP 573, Module State Access from C Extension Methods
- PEP 584, Union Operators in
- PEP 585, Type Hinting Generics In Standard Collections
- PEP 593, Flexible function and variable annotations
- PEP 602, Python adopts a stable annual release cadence
- PEP 614, Relaxing Grammar Restrictions On Decorators
- PEP 615, Support for the IANA Time Zone Database in the Standard Library
- PEP 616, String methods to remove prefixes and suffixes
- PEP 617, New PEG parser for CPython
- BPO 38379, garbage collection does not block on resurrected objects;
- BPO 38692, os.pidfd_open added that allows process management without races and signals;
- BPO 39926, Unicode support updated to version 13.0.0;
- BPO 1635741, when Python is initialized multiple times in the same process, it does not leak memory anymore;
- A number of Python builtins (range, tuple, set, frozenset, list, dict) are now sped up using PEP 590 vectorcall;
- A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) now use multiphase initialization as defined by PEP 489;
- A number of standard library modules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) are now using the stable ABI defined by PEP 384.
You can find a more comprehensive list in this release’s «What’s New» document.
Основные операторы
Оператор
Краткое описание
+
Сложение (сумма x и y)
—
Вычитание (разность x и y)
*
Умножение (произведение x и y)
Деление
Внимание! Если x и y целые, то результат всегда будет целым числом! Для получения вещественного результата хотя бы одно из чисел должно быть вещественным. Пример: 40/5 → 8, а вот 40/5.0 → 8.0
=
Присвоение
+=
y+=x; эквивалентно y = y + x;
-=
y-=x; эквивалентно y = y — x;
*=
y*=x; эквивалентно y = y * x;
/=
y/=x; эквивалентно y = y / x;
%=
y%=x; эквивалентно y = y % x;
==
Равно
!=
не равно
>
Больше
=
больше или равно
Часть после запятой отбрасывается
4 // 3 в результате будет 125 // 6 в результате будет 4
**
Возведение в степень
5 ** 2 в результате будет 25
and
логическое И
or
логическое ИЛИ
not
логическое отрицание НЕ
Major new features of the 3.8 series, compared to 3.7
- PEP 572, Assignment expressions
- PEP 570, Positional-only arguments
- PEP 587, Python Initialization Configuration (improved embedding)
- PEP 590, Vectorcall: a fast calling protocol for CPython
- PEP 578, Runtime audit hooks
- PEP 574, Pickle protocol 5 with out-of-band data
- Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict)
- Parallel filesystem cache for compiled bytecode
- Debug builds share ABI as release builds
- f-strings support a handy specifier for debugging
- is now legal in blocks
- on Windows, the default event loop is now
- on macOS, the spawn start method is now used by default in
- can now use shared memory segments to avoid pickling costs between processes
- is merged back to CPython
- is now 40% faster
- now uses Protocol 4 by default, improving performance
There are many other interesting changes, please consult the «What’s New» page in the documentation for a full list.
Other Useful Items
- Looking for 3rd party Python modules? The
Package Index has many of them. - You can view the standard documentation
online, or you can download it
in HTML, PostScript, PDF and other formats. See the main
Documentation page. - Information on tools for unpacking archive files
provided on python.org is available. -
Tip: even if you download a ready-made binary for your
platform, it makes sense to also download the source.
This lets you browse the standard library (the subdirectory Lib)
and the standard collections of demos (Demo) and tools
(Tools) that come with it. There’s a lot you can learn from the
source! - There is also a collection of Emacs packages
that the Emacsing Pythoneer might find useful. This includes major
modes for editing Python, C, C++, Java, etc., Python debugger
interfaces and more. Most packages are compatible with Emacs and
XEmacs.
Синтаксис
Во первых стоит отметить интересную особенность Python. Он не содержит операторных скобок (begin..end в pascal или {..}в Си), вместо этого блоки выделяются отступами: пробелами или табуляцией, а вход в блок из операторов осуществляется двоеточием. Однострочные комментарии начинаются со знака фунта «#», многострочные — начинаются и заканчиваются тремя двойными кавычками «»»»».
Чтобы присвоить значение пременной используется знак «=», а для сравнения —
«==». Для увеличения значения переменной, или добавления к строке используется оператор «+=», а для уменьшения — «-=». Все эти операции могут взаимодействовать с большинством типов, в том числе со строками. Например
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:
- Pablo Galindo Salgado (3.10.x and 3.11.x source files and tags) (key id: 64E628F8D684696D)
- Steve Dower (Windows binaries) (key id: FC62 4643 4870 34E5)
- Łukasz Langa (3.8.x and 3.9.x source files and tags) (key id: B269 95E3 1025 0568)
- Ned Deily (macOS binaries, 3.7.x / 3.6.x source files and tags) (key ids: 2D34 7EA6 AA65 421D, FB99 2128 6F5E 1540, and Apple Developer ID DJ3H93M7VJ)
- Larry Hastings (3.5.x source files and tags) (key id: 3A5C A953 F73C 700D)
- Benjamin Peterson (2.7.z source files and tags) (key id: 04C3 67C2 18AD D4FF and A4135B38)
Release files for older releases which have now reached end-of-life may have been signed by one of the following:
- Anthony Baxter (key id: 0EDD C5F2 6A45 C816)
- Georg Brandl (key id: 0A5B 1018 3658 0288)
- Martin v. Löwis (key id: 6AF0 53F0 7D9D C8D2)
- Ronald Oussoren (key id: C9BE 28DE E6DF 025C)
- Barry Warsaw (key ids: 126E B563 A74B 06BF, D986 6941 EA5B BD71, and ED9D77D5)
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.
(These instructions are geared to
GnuPG and Unix command-line users.)
And now for something completely different
trong>Michael Palin: Hello, good evening and welcome to another edition of Blood, Devastation, Death War and Horror, and later on we’ll be meeting a man who does gardening. But first on the show we’ve got a man who speaks entirely in anagrams.
Palin: I believe you’re working on an anagram version of Shakespeare?
Eric Idle: Sey, sey — taht si crreoct, er — ta the mnemot I’m wroking on ‘The Mating of the Wersh’.
Palin: Have you done ‘Hamlet’?
Idle: ‘Thamle’. ‘Be ot or bot ne ot, tath is the nestquoi.’
Palin: And what is your next project?
Idle: ‘Ring Kichard the Thrid’.
Palin: I’m sorry?
Idle: ‘A shroe! A shroe! My dingkom for a shroe!’
Palin: Ah, Ring Kichard, yes… but surely that’s not an anagram, that’s a spoonerism.
Idle: (offended) If you’re going to split hairs, I’m going to piss off.
Version | Operating System | Description | MD5 Sum | File Size | GPG |
---|---|---|---|---|---|
Gzipped source tarball | Source release | 387e63fe42c40a29e3408ce231315516 | 24151047 | SIG | |
XZ compressed source tarball | Source release | e16df33cd7b58702e57e137f8f5d13e7 | 18020412 | SIG | |
macOS 64-bit installer | macOS | for OS X 10.9 and later | 8464bc5341d3444b2ccad001d88b752b | 30231094 | SIG |
Windows help file | Windows | bf7942cdd74f34aa4f485730a714cc47 | 8529593 | SIG | |
Windows x86-64 embeddable zip file | Windows | for AMD64/EM64T/x64 | c68f60422a0e43dabf54b84a0e92ed6a | 8170006 | SIG |
Windows x86-64 executable installer | Windows | for AMD64/EM64T/x64 | 12297fb08088d1002f7e93a93fd779c6 | 27866224 | SIG |
Windows x86-64 web-based installer | Windows | for AMD64/EM64T/x64 | 7c382afb4d8faa0a82973e44caf02949 | 1364112 | SIG |
Windows x86 embeddable zip file | Windows | 910c307f58282aaa88a2e9df38083ed2 | 7305457 | SIG | |
Windows x86 executable installer | Windows | c3d71a80f518cfba4d038de53bca2734 | 26781976 | SIG | |
Windows x86 web-based installer | Windows | 075a93add0ac3d070b113f71442ace37 | 1328184 | SIG |