Документация Python
-
Что нового в Python
- Что нового в Python 3.12
-
Что нового в Python 3.11
- Резюме — основные моменты выпуска
- Новые возможности
- Новые возможности, связанные с подсказками типов
- Другие изменения языка
- Другие изменения реализации CPython
- Новые модули
- Улучшенные модули
- Оптимизации
- Более быстрый CPython
- Изменения байткода CPython
- Устаревшие
-
Что нового в Python 3.11
-
Что нового в Python 3.10
- Резюме – Выделенные моменты выпуска
- Новые возможности
- Новые возможности, связанные с подсказками типов
- Другие изменения языка
- Новые модули
-
Улучшенные модули
- asyncio
- argparse
- array
- asynchat, asyncore, smtpd
- base64
- bdb
- bisect
- codecs
- collections.abc
- contextlib
- curses
- dataclasses
- distutils
- doctest
- encodings
- enum
- fileinput
- faulthandler
- gc
- glob
- hashlib
- hmac
- IDLE и idlelib
- importlib.metadata
- inspect
- itertools
- linecache
- os
- os.path
- pathlib
- platform
- pprint
- py_compile
- pyclbr
- shelve
- statistics
- site
- socket
- ssl
- sqlite3
- sys
- _thread
- threading
- traceback
- types
- typing
- unittest
- urllib.parse
- xml
- zipimport
- Оптимизации
- Устаревшие
- Удаленные
- Перенос на Python 3.10
- Изменения байткода CPython
- Изменения в сборке
- Изменения в C API
- Заметная функция безопасности в 3.10.7
- Заметная функция безопасности в 3.10.8
- Заметные изменения в 3.10.12
-
Улучшенные модули
-
Что нового в Python 3.9
- Краткое описание - Выделенные моменты релиза
- Вы должны проверять на наличие DeprecationWarning в вашем коде
- Новые возможности
- Другие изменения языка
- Новые модули
- Улучшенные модули
- Оптимизации
- Устаревшие
- Удаленные
- Перенос на Python 3.9
- Изменения в сборке
- Изменения в C API
- Заметные изменения в Python 3.9.1
- Заметные изменения в Python 3.9.2
- Заметные изменения в Python 3.9.3
- Заметные изменения в Python 3.9.5
- Заметная функция безопасности в 3.9.14
- Заметные изменения в 3.9.17
-
Что нового в Python 3.9
-
Что нового в Python 3.8
- Обзор — Выделенные моменты выпуска
-
Новые возможности
- Выражения присваивания
- Параметры, принимаемые только по позиции
- Параллельный кэш файловой системы для скомпилированных файлов байткода
- Отладочная сборка использует тот же ABI, что и релизная сборка
- Поддержка f-строк
=для самодокументируемых выражений и отладки - PEP 578: Сценарии аудита работы интерпретатора Python
- PEP 587: Настройка инициализации Python
- PEP 590: Vectorcall: быстрый протокол вызовов для CPython
- Протокол сериализации Pickle 5 с буферами внедиапазонных данных
- Другие изменения в языке
- Новые модули
-
Улучшенные модули
- ast
- asyncio
- builtins
- collections
- cProfile
- csv
- curses
- ctypes
- datetime
- functools
- gc
- gettext
- gzip
- IDLE и idlelib
- inspect
- io
- itertools
- json.tool
- logging
- math
- mmap
- multiprocessing
- os
- os.path
- pathlib
- pickle
- plistlib
- pprint
- py_compile
- shlex
- shutil
- socket
- ssl
- statistics
- sys
- tarfile
- threading
- tokenize
- tkinter
- time
- typing
- unicodedata
- unittest
- venv
- weakref
- xml
- xmlrpc
- Оптимизации
- Изменения в сборке и C API
- Устаревшее
- Удаление API и функций
- Переход на Python 3.8
- Заметные изменения в Python 3.8.1
- Заметные изменения в Python 3.8.2
- Заметные изменения в Python 3.8.3
- Заметные изменения в Python 3.8.8
- Заметные изменения в Python 3.8.9
- Заметные изменения в Python 3.8.10
-
Что нового в Python 3.8
-
Что нового в Python 3.7
- Резюме — основные моменты выпуска
-
Новые возможности
- PEP 563: Отложенная оценка аннотаций
- PEP 538: Принудительное преобразование устаревшего локали C
- PEP 540: Принудительный режим UTF-8 в процессе выполнения
- PEP 553: Встроенный
breakpoint() - PEP 539: Новый C API для хранения данных на уровне потоков
- PEP 562: Настройка доступа к атрибутам модулей
- PEP 564: Новые функции времени с разрешением в наносекунды
- PEP 565: Отображение DeprecationWarning в
__main__ - PEP 560: Базовая поддержка модуля
typingи обобщенных типов - PEP 552: Файлы .pyc на основе хешей
- PEP 545: Переводы документации Python
- Режим разработки Python (-X dev)
- Другие изменения языка
- Новые модули
-
Улучшенные модули
- argparse
- asyncio
- binascii
- calendar
- collections
- compileall
- concurrent.futures
- contextlib
- cProfile
- crypt
- datetime
- dbm
- decimal
- dis
- distutils
- enum
- functools
- gc
- hmac
- http.client
- http.server
- idlelib и IDLE
- importlib
- io
- ipaddress
- itertools
- locale
- logging
- math
- mimetypes
- msilib
- multiprocessing
- os
- pathlib
- pdb
- py_compile
- pydoc
- queue
- re
- signal
- socket
- socketserver
- sqlite3
- ssl
- string
- subprocess
- sys
- time
- tkinter
- tracemalloc
- types
- unicodedata
- unittest
- unittest.mock
- urllib.parse
- uu
- uuid
- warnings
- xml
- xml.etree
- xmlrpc.server
- zipapp
- zipfile
- Изменения в C API
- Изменения в сборке
- Оптимизации
- Другие изменения в реализации CPython
- Устаревшие функции Python
- Устаревшие модули, функции и методы Python
- Устаревшие функции и типы C API
- Удаления поддержки платформ
-
Улучшенные модули
- Удаление API и функций
- Удаление модулей
- Изменения, относящиеся только к Windows
- Перенос на Python 3.7
- Заметные изменения в Python 3.7.1
- Заметные изменения в Python 3.7.2
- Заметные изменения в Python 3.7.6
- Заметные изменения в Python 3.7.10
- Заметные изменения в Python 3.7.11
- Заметная функция безопасности в 3.7.14
-
Что нового в Python 3.6
- Резюме — основные моменты выпуска
-
Новые возможности
- PEP 498: Форматируемые строковые литералы
- PEP 526: Синтаксис для аннотаций переменных
- PEP 515: Подчеркивания в числовых литералах
- PEP 525: Асинхронные генераторы
- PEP 530: Асинхронные генераторы списков
- PEP 487: Упрощение настройки создания классов
- PEP 487: Улучшения протокола дескрипторов
- PEP 519: Добавление протокола пути к файловой системе
- PEP 495: Разрешение неоднозначности локального времени
- PEP 529: Изменение кодировки файловой системы Windows на UTF-8
- PEP 528: Изменение кодировки консоли Windows на UTF-8
- PEP 520: Сохранение порядка определения атрибутов класса
- PEP 468: Сохранение порядка ключевых аргументов
- Новая реализация dict
- PEP 523: Добавление API оценки фреймов в CPython
- Переменная окружения PYTHONMALLOC
- Поддержка зондирования DTrace и SystemTap
- Другие изменения языка
- Новые модули
-
Улучшенные модули
- array
- ast
- asyncio
- binascii
- cmath
- collections
- concurrent.futures
- contextlib
- datetime
- decimal
- distutils
- encodings
- enum
- faulthandler
- fileinput
- hashlib
- http.client
- idlelib и IDLE
- importlib
- inspect
- json
- logging
- math
- multiprocessing
- os
- pathlib
- pdb
- pickle
- pickletools
- pydoc
- random
- re
- readline
- rlcompleter
- shlex
- site
- sqlite3
- socket
- socketserver
- ssl
- statistics
- struct
- subprocess
- sys
- telnetlib
- time
- timeit
- tkinter
- traceback
- tracemalloc
- typing
- unicodedata
- unittest.mock
- urllib.request
- urllib.robotparser
- venv
- warnings
- winreg
- winsound
- xmlrpc.client
- zipfile
- zlib
- Оптимизации
- Изменения в системе сборки и C API
- Другие улучшения
- Устаревшие элементы
-
Улучшенные модули
-
Что нового в Python 3.5
- Резюме — Выделенные моменты выпуска
-
Новые возможности
- PEP 492 — Корутины с синтаксисом async и await
- PEP 465 — Специальный инфиксный оператор для умножения матриц
- PEP 448 — Дополнительные обобщения распаковки
- PEP 461 — Поддержка форматирования в процентах для bytes и bytearray
- PEP 484 — Указатели типов
- PEP 471 — Функция os.scandir() — лучший и более быстрый итератор по каталогам
- PEP 475: Повтор вызовов системных функций, завершающихся с ошибкой EINTR
- PEP 479: Изменение обработки StopIteration внутри генераторов
- PEP 485: Функция для проверки приблизительного равенства
- PEP 486: Сделать загрузчик Python осознающим виртуальные окружения
- PEP 488: Устранение файлов PYO
- PEP 489: Инициализация модулей расширения в несколько фаз
- Другие изменения языка
- Новые модули
-
Улучшенные модули
- argparse
- asyncio
- bz2
- cgi
- cmath
- code
- collections
- collections.abc
- compileall
- concurrent.futures
- configparser
- contextlib
- csv
- curses
- dbm
- difflib
- distutils
- doctest
- enum
- faulthandler
- functools
- glob
- gzip
- heapq
- http
- http.client
- idlelib и IDLE
- imaplib
- imghdr
- importlib
- inspect
- io
- ipaddress
- json
- linecache
- locale
- logging
- lzma
- math
- multiprocessing
- operator
- os
- pathlib
- pickle
- poplib
- re
- readline
- selectors
- shutil
- signal
- smtpd
- smtplib
- sndhdr
- socket
- ssl
- sqlite3
- subprocess
- sys
- sysconfig
- tarfile
- threading
- time
- timeit
- tkinter
- traceback
- types
- unicodedata
- unittest
- unittest.mock
- urllib
- wsgiref
- xmlrpc
- xml.sax
- zipfile
- Другие изменения на уровне модулей
- Оптимизации
- Изменения в сборке и C API
-
Улучшенные модули
-
Что нового в Python 3.4
- Краткое описание основных моментов выпуска
- Новые возможности
- Новые модули
-
Улучшенные модули
- abc
- aifc
- argparse
- audioop
- base64
- collections
- colorsys
- contextlib
- dbm
- dis
- doctest
- filecmp
- functools
- gc
- glob
- hashlib
- hmac
- html
- http
- idlelib и IDLE
- importlib
- inspect
- ipaddress
- logging
- marshal
- mmap
- multiprocessing
- operator
- os
- pdb
- pickle
- plistlib
- poplib
- pprint
- pty
- pydoc
- re
- resource
- select
- shelve
- shutil
- smtpd
- smtplib
- socket
- sqlite3
- ssl
- stat
- struct
- subprocess
- sunau
- sys
- tarfile
- textwrap
- threading
- traceback
- types
- urllib
- unittest
- venv
- wave
- weakref
- xml.etree
- zipfile
-
Что нового в Python 3.4
-
Что нового в Python 3.3
- Обзор — Выдающиеся моменты релиза
- PEP 405: Виртуальные среды
- PEP 420: Неявные пакеты имен
- PEP 3118: Новая реализация memoryview и документация к протоколу буфера
- PEP 393: Гибкое представление строк
- PEP 397: Загрузчик Python для Windows
- PEP 3151: Переработка иерархии исключений OS и IO
- PEP 380: Синтаксис для делегирования подгенератору
- PEP 409: Подавление контекста исключения
- PEP 414: Явные литералы Unicode
- PEP 3155: Квалифицированное имя для классов и функций
- PEP 412: Словарь совместного использования ключей
- PEP 362: Объект сигнатуры функции
- PEP 421: Добавление sys.implementation
- Использование importlib в качестве реализации импорта
- Другие изменения языка
- Более тонкая блокировка импорта
- Встроенные функции и типы
- Новые модули
-
Улучшенные модули
- abc
- array
- base64
- binascii
- bz2
- codecs
- collections
- contextlib
- crypt
- curses
- datetime
- decimal
- ftplib
- functools
- gc
- hmac
- http
- html
- imaplib
- inspect
- io
- itertools
- logging
- math
- mmap
- multiprocessing
- nntplib
- os
- pdb
- pickle
- pydoc
- re
- sched
- select
- shlex
- shutil
- signal
- smtpd
- smtplib
- socket
- socketserver
- sqlite3
- ssl
- stat
- struct
- subprocess
- sys
- tarfile
- tempfile
- textwrap
- threading
- time
- types
- unittest
- urllib
- webbrowser
- xml.etree.ElementTree
- zlib
- Оптимизации
- Изменения в сборке и API на C
- Устаревшие
- Перенос на Python 3.3
-
Улучшенные модули
-
Что нового в Python 3.2
- PEP 384: Определение стабильного ABI
- PEP 389: Модуль командной строки argparse
- PEP 391: Настройка логгирования на основе словарей
- PEP 3148: Модуль
concurrent.futures - PEP 3147: Каталоги репозитория PYC
- PEP 3149: Файлы .so с меткой версии ABI
- PEP 3333: Python Web Server Gateway Interface v1.0.1
- Другие изменения языка
-
Новые, улучшенные и устаревшие модули
- elementtree
- functools
- itertools
- collections
- threading
- datetime и time
- math
- abc
- io
- reprlib
- logging
- csv
- contextlib
- decimal и fractions
- ftp
- popen
- select
- gzip и zipfile
- tarfile
- hashlib
- ast
- os
- shutil
- sqlite3
- html
- socket
- ssl
- nntp
- сертификаты
- imaplib
- http.client
- unittest
- random
- poplib
- asyncore
- tempfile
- inspect
- pydoc
- dis
- dbm
- ctypes
- site
- sysconfig
- pdb
- configparser
- urllib.parse
- mailbox
- turtledemo
- Многопоточность
- Оптимизации
- Unicode
- Кодировки
- Документация
- IDLE
- Репозиторий кода
- Изменения в сборке и API на C
- Перенос на Python 3.2
- Что нового в Python 3.1
-
Что нового в Python 3.2
- Что нового в Python 3.0
-
Что нового в Python 2.7
- Будущее Python 2.x
- Изменения в обработке предупреждений о устаревании
- Функции Python 3.1
- PEP 372: Добавление упорядоченного словаря в collections
- PEP 378: Спецификатор формата для разделителя тысяч
- PEP 389: Модуль argparse для разбора командных строк
- PEP 391: Основанная на словаре конфигурация для ведения журнала
- PEP 3106: Представления словарей
- PEP 3137: Объект memoryview
- Другие изменения языка
- Новые и улучшенные модули
- Изменения в сборке и API на C
- Другие изменения и исправления
- Перенос на Python 2.7
-
Новые функции, добавленные в поддерживающие релизы Python 2.7
- Две новые переменные среды для отладки
- PEP 434: Улучшение IDLE исключение для всех ветвей
- PEP 466: Улучшения сетевой безопасности для Python 2.7
- PEP 477: Обратная перенос ensurepip (PEP 453) в Python 2.7
- PEP 476: Включение проверки сертификатов по умолчанию для стандартных http-клиентов
- PEP 493: Инструменты миграции проверки HTTPS для Python 2.7
- Новый
make regen-allцелевой параметр сборки - Удаление
make touchцелевого параметра сборки
- Благодарности
-
Что нового в Python 2.6
- Python 3.0
- Изменения в процессе разработки
- PEP 343: Оператор «with»
- PEP 366: Явные относительные импорты из основного модуля
- PEP 370: Директория site-packages на пользователя
- PEP 371: Модуль
multiprocessing - PEP 3101: Расширенное форматирование строк
- PEP 3105:
printкак функция - PEP 3110: Изменения в обработке исключений
- PEP 3112: Литералы байтов
- PEP 3116: Новая библиотека ввода/вывода
- PEP 3118: Пересмотренный протокол буфера
- PEP 3119: Абстрактные базовые классы
- PEP 3127: Поддержка и синтаксис целочисленных литералов
- PEP 3129: Декораторы классов
- PEP 3141: Иерархия типов для чисел
- Другие изменения языка
- Новые и улучшенные модули
- Устаревшие и удаленные элементы
- Изменения в сборке и API C
- Перенос в Python 2.6
- Благодарности
-
Что нового в Python 2.5
- PEP 308: Условные выражения
- PEP 309: Частичное применение функции
- PEP 314: Метаданные для пакетов Python-приложений v1.1
- PEP 328: Абсолютные и относительные импорты
- PEP 338: Выполнение модулей как скриптов
- PEP 341: Объединённый try/except/finally
- PEP 342: Новые возможности генераторов
- PEP 343: Оператор «with»
- PEP 352: Исключения как классы нового стиля
- PEP 353: Использование ssize_t в качестве типа индекса
- PEP 357: Метод «__index__»
- Другие изменения языка
- Новые, улучшенные и удалённые модули
- Изменения в сборке и C API
- Перенос в Python 2.5
- Благодарности
-
Что нового в Python 2.6
-
Что нового в Python 2.4
- PEP 218: Встроенные объекты множеств
- PEP 237: Объединение длинных целых чисел и целых чисел
- PEP 289: Генераторские выражения
- PEP 292: Простые подстановки строк
- PEP 318: Декораторы для функций и методов
- PEP 322: Обратная итерация
- PEP 324: Новый модуль subprocess
- PEP 327: Тип данных Decimal
- PEP 328: Многострочные импорты
- PEP 331: Независимые от локали преобразования float/строка
- Другие изменения языка
- Новые, улучшенные и устаревшие модули
- Изменения в построении и C API
- Портирование в Python 2.4
- Благодарности
-
Что нового в Python 2.3
- PEP 218: Стандартный тип данных множества
- PEP 255: Простые генераторы
- PEP 263: Кодировки исходного кода
- PEP 273: Импорт модулей из архивов ZIP
- PEP 277: Поддержка имен файлов Unicode для Windows NT
- PEP 278: Универсальная поддержка новых строк
- PEP 279: enumerate()
- PEP 282: Модуль logging
- PEP 285: Булевый тип
- PEP 293: Обработка ошибок кодеков с помощью обратных вызовов
- PEP 301: Индекс пакетов и метаданные для Distutils
- PEP 302: Новые хуки импорта
- PEP 305: Файлы, разделенные запятыми
- PEP 307: Улучшения pickle
- Расширенные срезы
- Другие изменения языка
- Новые, улучшенные и устаревшие модули
- Pymalloc: Специализированный объект-аллокатор
- Изменения в построении и C API
- Другие изменения и исправления
- Портирование в Python 2.3
- Благодарности
-
Что нового в Python 2.2
- Введение
- PEPs 252 и 253: Изменения типов и классов
- PEP 234: Итераторы
- PEP 255: Простые генераторы
- PEP 237: Объединение длинных целых чисел и целых чисел
- PEP 238: Изменение оператора деления
- Изменения в Unicode
- PEP 227: Вложенные области видимости
- Новые и улучшенные модули
- Изменения и исправления интерпретатора
- Другие изменения и исправления
- Благодарности
-
Что нового в Python 2.4
-
Что нового в Python 2.1
- Введение
- PEP 227: Вложенные области видимости
- PEP 236: Директивы __future__
- PEP 207: Богатые сравнения
- PEP 230: Система обработки предупреждений
- PEP 229: Новая система сборки
- PEP 205: Слабые ссылки
- PEP 232: Атрибуты функций
- PEP 235: Импорт модулей на платформах с регистронезависимым именованием
- PEP 217: Обработчик интерактивного отображения
- PEP 208: Новая модель приведения типов
- PEP 241: Метаданные в пакетах Python
- Новые и улучшенные модули
- Другие изменения и исправления
- Благодарности
-
Что нового в Python 2.0
- Введение
- Что насчет Python 1.6?
- Новая методология разработки
- Unicode
- Списки с выражениями
- Расширенное присваивание
- Методы строк
- Сбор мусора циклов
- Другие основные изменения
- Переход на версию 2.0
- Изменения расширений/встраивания
- Distutils: Упрощение установки модулей
- Модули XML
- Изменения модулей
- Новые модули
- Улучшения IDLE
- Удалённые и устаревшие модули
- Благодарности
-
Что нового в Python 2.1
- Python 3.7.0 альфа 3
- Python 3.7.0 альфа 2
- Python 3.7.0 альфа 1
- Python 3.6.6 финальная версия
- Python 3.6.6 кандидатура на релиз 1
- Python 3.6.5 финальная версия
- Python 3.6.5 кандидатура на релиз 1
- Python 3.6.4 финальная версия
- Python 3.6.4 кандидатура на релиз 1
- Python 3.6.3 финальная версия
- Python 3.6.3 кандидатура на релиз 1
- Python 3.6.2 финальная версия
- Python 3.6.2 релиз-кандидат 2
- Python 3.6.2 релиз-кандидат 1
- Python 3.6.1 окончательная версия
- Python 3.6.1 релиз-кандидат 1
- Python 3.6.0 окончательная версия
- Python 3.6.0 релиз-кандидат 2
- Python 3.6.0 релиз-кандидат 1
- Python 3.6.0 бета-версия 4
- Python 3.6.0 бета-версия 3
- Python 3.6.0 бета-версия 2
- Python 3.6.0 бета-версия 1
- Python 3.6.0 альфа-версия 4
- Python 3.6.0 альфа-версия 3
- Python 3.6.0 альфа 2
- Python 3.6.0 альфа 1
- Python 3.5.5 финальная версия
- Python 3.5.5 версия кандидата на релиз 1
- Python 3.5.4 финальная версия
- Python 3.5.4 версия кандидата на релиз 1
- Python 3.5.3 финальная версия
- Python 3.5.3 версия кандидата на релиз 1
- Python 3.5.2 финальная версия
- Python 3.5.2 версия кандидата на релиз 1
- Python 3.5.1 финальная версия
- Python 3.5.1 версия кандидата на релиз 1
- Python 3.5.0 финальная версия
- Python 3.5.0 версия кандидата на релиз 4
- Python 3.5.0 выпуск-кандидат 3
- Python 3.5.0 выпуск-кандидат 2
- Python 3.5.0 выпуск-кандидат 1
- Python 3.5.0 бета-версия 4
- Python 3.5.0 бета-версия 3
- Python 3.5.0 бета-версия 2
- Python 3.5.0 бета-версия 1
- Python 3.5.0 альфа-версия 4
- Python 3.5.0 альфа-версия 3
- Python 3.5.0 альфа-версия 2
- Python 3.5.0 альфа-версия 1
-
Учебник по Python
- 1. Разжигание аппетита
- 2. Использование интерпретатора Python
- 3. Неформальное введение в Python
-
4. Более мощные инструменты управления потоком
- 4.1. Условные операторы
- 4.2. Операторы цикла for
- 4.3. Функция range
- 4.4. Операторы break и continue, и else-блоки в циклах
- 4.5. Операторы pass
- 4.6. Операторы match
- 4.7. Определение функций
- 4.8. Дополнительная информация об определении функций
- 4.9. Межпрограммный блок: стиль кодирования
- 5. Структуры данных
- 6. Модули
- 7. Ввод и вывод
-
8. Ошибки и исключения
- 8.1. Синтаксические ошибки
- 8.2. Исключения
- 8.3. Обработка исключений
- 8.4. Вызов исключений
- 8.5. Цепочки исключений
- 8.6. Пользовательские исключения
- 8.7. Определение действий по очистке
- 8.8. Предопределенные действия по очистке
- 8.9. Вызов и обработка нескольких несвязанных исключений
- 8.10. Обогащение исключений заметками
- 9. Классы
-
10. Краткий обзор стандартной библиотеки
- 10.1. Интерфейс операционной системы
- 10.2. Подстановочные знаки для файлов
- 10.3. Аргументы командной строки
- 10.4. Перенаправление ошибок вывода и завершение программы
- 10.5. Сопоставление шаблонов строк
- 10.6. Математика
- 10.7. Доступ к интернету
- 10.8. Даты и время
- 10.9. Сжатие данных
- 10.10. Измерение производительности
- 10.11. Контроль качества
- 10.12. Встроенные возможности
- 11. Краткий обзор стандартной библиотеки — Часть II
- 12. Виртуальные окружения и пакеты
- 13. Что дальше?
- 14. Редактирование интерактивного ввода и подстановка истории
- 15. Арифметика с плавающей запятой: проблемы и ограничения
- 16. Приложение
-
Настройка и использование Python
- 1. Командная строка и среда
- 2. Использование Python на Unix-платформах
-
3. Настройка Python
- 3.1. Требования к сборке
- 3.2. Сгенерированные файлы
-
3.3. Параметры конфигурации
- 3.3.1. Общие параметры
- 3.3.2. Параметры WebAssembly
- 3.3.3. Параметры установки
- 3.3.4. Параметры производительности
- 3.3.5. Отладочная сборка Python
- 3.3.6. Параметры отладки
- 3.3.7. Параметры компоновщика
- 3.3.8. Параметры библиотек
- 3.3.9. Параметры безопасности
- 3.3.10. Параметры macOS
- 3.3.11. Параметры кросс-компиляции
- 3.4. Система сборки Python
- 3.5. Флаги компилятора и компоновщика
-
4. Использование Python на Windows
- 4.1. Полный установщик
- 4.2. Пакет Microsoft Store
- 4.3. Пакеты nuget.org
- 4.4. Встраиваемый пакет
- 4.5. Альтернативные пакеты
- 4.6. Настройка Python
- 4.7. Режим UTF-8
- 4.8. Загрузчик Python для Windows
- 4.9. Поиск модулей
- 4.10. Дополнительные модули
- 4.11. Компиляция Python на Windows
- 4.12. Другие платформы
- Справочник по языку Python
-
3. Модель данных
- 3.1. Объекты, значения и типы
-
3.2. Стандартная иерархия типов
- 3.2.1. None
- 3.2.2. NotImplemented
- 3.2.3. Ellipsis
-
3.2.4.
numbers.Number - 3.2.5. Последовательности
- 3.2.6. Типы множеств
- 3.2.7. Отображения
- 3.2.8. Типы вызываемых объектов
- 3.2.9. Модули
- 3.2.10. Пользовательские классы
- 3.2.11. Экземпляры классов
- 3.2.12. Объекты Ввода/Вывода (также известные как файлы)
- 3.2.13. Внутренние типы
-
3.3. Специальные имена методов
- 3.3.1. Базовая настройка
- 3.3.2. Настройка доступа к атрибутам
- 3.3.3. Настройка создания класса
- 3.3.4. Настройка проверки экземпляра и подкласса
- 3.3.5. Эмуляция универсальных типов
- 3.3.6. Эмуляция вызываемых объектов
- 3.3.7. Эмуляция типов контейнеров
- 3.3.8. Эмуляция числовых типов
- 3.3.9. Блоки управления контекстом оператора with
- 3.3.10. Настройка позиционных аргументов в сопоставлении с шаблонами классов
- 3.3.11. Эмуляция типов буферов
- 3.3.12. Поиск специальных методов
- 3.4. Корутины
-
3. Модель данных
- 4. Модель выполнения
- 5. Система импорта
-
6. Выражения
- 6.1. Арифметические преобразования
- 6.2. Атомы
- 6.3. Первичные выражения
- 6.4. Выражение await
- 6.5. Оператор возведения в степень
- 6.6. Унарные арифметические и поразрядные операции
- 6.7. Двоичные арифметические операции
- 6.8. Операции сдвига
- 6.9. Двоичные поразрядные операции
- 6.10. Сравнения
- 6.11. Булевы операции
- 6.12. Выражения присваивания
- 6.13. Условные выражения
- 6.14. Lambda-выражения
- 6.15. Списки выражений
- 6.16. Порядок вычисления
- 6.17. Приоритет операторов
-
7. Простые операторы
- 7.1. Операторы выражений
- 7.2. Операторы присваивания
- 7.3. Оператор
assert - 7.4. Оператор
pass - 7.5. Оператор
del - 7.6. Оператор
return - 7.7. Оператор
yield - 7.8. Оператор
raise - 7.9. Оператор
break - 7.10. Оператор
continue -
7.11. Оператор
import - 7.12. Оператор
global - 7.13. Оператор
nonlocal - 7.14. Оператор
type
- 8. Сложные операторы
- 9. Компоненты верхнего уровня
- 10. Полная спецификация грамматики
-
7. Простые операторы
-
Стандартная библиотека Python
- Введение
- Встроенные функции
- Встроенные константы
-
Встроенные типы
- Проверка истинности
- Логические операции —
and,or,not - Сравнения
-
Числовые типы —
int,float,complex - Тип bool —
bool - Типы итераторов
-
Последовательности —
list,tuple,range -
Последовательность текстовых данных —
str -
Бинарные последовательности —
bytes,bytearray,memoryview - Типы множеств —
set,frozenset -
Типы словарей —
dict - Типы менеджеров контекста
- Типы аннотаций — Generic Alias, Union
- Другие встроенные типы
- Специальные атрибуты
- Ограничение длины при преобразовании целых чисел в строки
- Встроенные исключения
-
Услуги обработки текста
-
string— Общие операции со строками -
re— Операции с регулярными выражениями -
difflib— Помощники для вычисления различий textwrap— Обёртывание и заполнение текстаunicodedata— База данных Unicodestringprep— Подготовка строк для Интернета-
readline— Интерфейс GNU readline rlcompleter— Функция автозаполнения для GNU readline
-
-
Услуги работы с двоичными данными
-
struct— Интерпретация байтов как упакованных двоичных данных -
codecs— Реестр кодеков и базовые классы
-
-
Услуги обработки текста
-
Типы данных
-
datetime— Основные типы дат и времени -
zoneinfo— Поддержка часовых поясов IANA -
calendar— Общие функции, связанные с календарём -
collections— Контейнерные типы данных -
collections.abc— Абстрактные базовые классы для контейнеров -
heapq— Алгоритм очереди с приоритетами -
bisect— Алгоритм бисекции массива array— Эффективные массивы числовых значений-
weakref— Слабые ссылки -
types— Динамическое создание типов и имён встроенных типов copy— Операции поверхностного и глубокого копирования-
pprint— Красивый вывод данных -
reprlib— Альтернативная реализацияrepr()
-
-
Типы данных
-
Числовые и математические модули
-
numbers— Числовые абстрактные базовые классы -
math— Математические функции -
cmath— Математические функции для комплексных чисел -
decimal— Десятичная фиксированная точка и плавающая точка арифметика fractions— Рациональные числа-
random— Генерация псевдослучайных чисел -
statistics— Математические статистические функции
-
- Модули функционального программирования
-
Доступ к файлам и каталогам
-
pathlib— Объектно-ориентированные пути к файлам системы os.path— Общие манипуляции с именами путейfileinput— Итерация по строкам из нескольких входных потоковstat— Интерпретация результатовstat()-
filecmp— Сравнение файлов и каталогов -
tempfile— Генерация временных файлов и каталогов glob— Расширение шаблонов имен файлов в стиле Unixfnmatch— Сопоставление шаблонов имен файлов в стиле Unixlinecache— Случайный доступ к строкам текста-
shutil— Высокоуровневые операции с файлами
-
-
Доступ к файлам и каталогам
-
Персистентность данных
-
pickle— Сериализация объектов Python -
copyreg— Регистрация функций поддержкиpickle -
shelve— Сохранение объектов Python marshal— Внутренняя сериализация объектов Python-
dbm— Интерфейсы к базам данных Unix -
sqlite3— Интерфейс DB-API 2.0 для баз данных SQLite- Учебник
- Справочник
-
Руководства по использованию
- Как использовать плейсхолдеры для привязки значений в SQL-запросах
- Как адаптировать пользовательские типы Python к значениям SQLite
- Как преобразовать значения SQLite в пользовательские типы Python
- Рецепты адаптеров и преобразователей
- Как использовать сокращенные методы соединения
- Как использовать менеджер контекста подключения
- Как работать с URI SQLite
- Как создать и использовать фабрики строк
- Как обрабатывать кодировки текстов, не являющиеся UTF-8
- Описание
-
-
Персистентность данных
-
Сжатие данных и архивирование
zlib— Сжатие, совместимое с gzip-
gzip— Поддержка файлов gzip -
bz2— Поддержка сжатия bzip2 -
lzma— Сжатие с использованием алгоритма LZMA -
zipfile— Работа с архивами ZIP -
tarfile— Чтение и запись файлов архивов tar
- Форматы файлов
-
Сжатие данных и архивирование
-
Криптографические службы
-
hashlib— Безопасные хэши и дайджесты сообщений hmac— Хэширование с ключом для аутентификации сообщений-
secrets— Генерация безопасных случайных чисел для управления секретами
-
-
Криптографические службы
-
Общие службы операционной системы
-
os— Разнообразные интерфейсы операционной системы -
io— Основные инструменты для работы с потоками -
time— Доступ к времени и преобразования -
argparse— Парсер для командно-строковых опций, аргументов и подкоманд getopt— Парсер командной строки в стиле C
-
-
Общие службы операционной системы
-
logging— Модуль ведения логов Python -
logging.config— Настройка ведения логов -
logging.handlers— Обработчики логов getpass— Портативный ввод паролей-
curses— Обработка терминала для символьных дисплеев -
curses.textpad— Виджет ввода текста для программ curses curses.ascii— Утилиты для ASCII-символов-
curses.panel— Расширение стека панелей для curses -
platform— Доступ к данным идентификации базовой платформы errno— Стандартные системные символы errno
-
-
ctypes— Библиотека внешних функций для Python-
Учебник по ctypes
- Загрузка динамических библиотек
- Доступ к функциям из загруженных DLL
- Вызов функций
- Основные типы данных
- Вызов функций (продолжение)
- Вызов функций с переменным числом аргументов
- Вызов функций с собственными типами данных
- Указание требуемых типов аргументов (прототипы функций)
- Типы возвращаемых значений
- Передача указателей (или передача параметров по ссылке)
- Структуры и объединения
- Выравнивание и порядок байтов структур/объединений
- Битовые поля в структурах и объединениях
- Массивы
- Указатели
- Преобразования типов
- Неполные типы
- Функции обратного вызова
- Доступ к значениям, экспортированным из DLL
- Неожиданности
- Типы данных с переменным размером
- Справочник по ctypes
-
Учебник по ctypes
-
-
Конкурентное выполнение
-
threading— Параллелизм на основе потоков -
multiprocessing— Параллелизм на основе процессов multiprocessing.shared_memory— Общая память для прямого доступа между процессами- Пакет
concurrent -
concurrent.futures— Запуск параллельных задач -
subprocess— Управление дочерними процессами -
sched— Планировщик событий -
queue— Синхронизированный класс очереди
-
-
Конкурентное выполнение
-
Сети и межпроцессное взаимодействие
-
asyncio— Асинхронное ввод-вывод- Запускающие программы
- Корутины и задачи
- Потоки
- Примитивы синхронизации
- Подпроцессы
- Очереди
- Исключения
-
Цикл событий
-
Методы цикла событий
- Запуск и остановка цикла
- Планирование обратных вызовов
- Планирование отложенных обратных вызовов
- Создание объектов Future и задач
- Открытие сетевых соединений
- Создание сетевых серверов
- Передача файлов
- Обновление TLS
- Наблюдение за дескрипторами файлов
- Работа с объектами сокета напрямую
- DNS
- Работа с каналами
- Сигналы Unix
- Выполнение кода в пулах потоков или процессов
- API обработки ошибок
- Включение отладочного режима
- Запуск подпроцессов
- Обработчики обратных вызовов
- Объекты сервера
- Реализации циклов событий
- Примеры
-
Методы цикла событий
- Объекты Future
-
-
ssl— Обёртка TLS/SSL для объектов сокетов -
select— Ожидание завершения операций ввода/вывода -
selectors— Высокоуровневая многозадачность ввода/вывода -
signal— Установка обработчиков для асинхронных событий -
mmap— Поддержка файлов с отображением в памяти
-
-
Обработка данных Интернета
-
email— Пакет для работы с электронной почтой и MIMEemail.message: Представление сообщения электронной почты-
email.parser: Парсинг сообщений электронной почты email.generator: Генерация MIME-документовemail.policy: Объекты политикиemail.errors: Классы исключений и дефектовemail.headerregistry: Настраиваемые объекты заголовков-
email.contentmanager: Управление содержимым MIME email: Примерыemail.message.Message: Представление сообщения электронной почты с использованием APIcompat32email.mime: Создание объектов электронной почты и MIME с нуляemail.header: Международные заголовкиemail.charset: Представление кодировок символовemail.encoders: Кодировщикиemail.utils: Различные служебные функцииemail.iterators: Итераторы
-
json— Кодировщик и декодировщик JSON -
mailbox— Работа с почтовыми ящиками в различных форматах -
mimetypes— Сопоставление имён файлов с MIME-типами -
base64— Кодировки данных Base16, Base32, Base64, Base85 binascii— Преобразование между двоичным и ASCIIquopri— Кодирование и декодирование данных MIME в формате quoted-printable
-
-
Обработка данных Интернета
-
Средства обработки структурированных разметки
html— Поддержка языка разметки HyperText-
html.parser— Простой парсер HTML и XHTML html.entities— Определения общих сущностей HTML- Модули обработки XML
-
xml.etree.ElementTree— API ElementTree для XML -
xml.dom— API Модели объектов документа -
xml.dom.minidom— Минимальная реализация DOM -
xml.dom.pulldom— Поддержка создания частичных деревьев DOM -
xml.sax— Поддержка SAX2 парсеров -
xml.sax.handler— Базовые классы для обработчиков SAX xml.sax.saxutils— Утилиты SAX-
xml.sax.xmlreader— Интерфейс для XML парсеров -
xml.parsers.expat— Быстрый парсинг XML с помощью Expat
-
Средства обработки структурированных разметки
-
Протоколы и поддержка интернета
-
webbrowser— Удобный контроллер веб-браузера -
wsgiref— Утилиты WSGI и реализация справочника urllib— Модули обработки URL-
urllib.request— Расширяемая библиотека для открытия URL- Объекты запросов
- Объекты OpenerDirector
- Объекты BaseHandler
- Объекты HTTPRedirectHandler
- Объекты HTTPCookieProcessor
- Объекты ProxyHandler
- Объекты HTTPPasswordMgr
- Объекты HTTPPasswordMgrWithPriorAuth
- Объекты AbstractBasicAuthHandler
- Объекты HTTPBasicAuthHandler
- Объекты ProxyBasicAuthHandler
- Объекты AbstractDigestAuthHandler
- Объекты HTTPDigestAuthHandler
- Объекты ProxyDigestAuthHandler
- Объекты HTTPHandler
- Объекты HTTPSHandler
- Объекты FileHandler
- Объекты DataHandler
- Объекты FTPHandler
- Объекты CacheFTPHandler
- Объекты UnknownHandler
- Объекты HTTPErrorProcessor
- Примеры
- Интерфейс старой версии
urllib.requestОграничения
urllib.response— Классы ответов, используемые urllib-
urllib.parse— Разбор URL на компоненты urllib.error— Классы исключений, генерируемые urllib.requesturllib.robotparser— Парсер robots.txt-
http— Модули HTTP -
http.client— Клиент протокола HTTP -
ftplib— FTP-клиент протокола -
poplib— Клиент протокола POP3 -
imaplib— Клиент протокола IMAP4 -
smtplib— Клиент протокола SMTP -
uuid— Объекты UUID в соответствии с RFC 4122 -
socketserver— Фреймворк для сетевых серверов -
http.server— HTTP серверы
-
-
Протоколы и поддержка интернета
-
http.cookies— Управление состоянием HTTP -
http.cookiejar— Обработка файлов cookie для HTTP-клиентов xmlrpc— Модули сервера и клиента XMLRPC-
xmlrpc.client— Доступ к клиенту XML-RPC -
xmlrpc.server— Базовые XML-RPC серверы -
ipaddress— Библиотека для работы с IPv4/IPv6
-
- Мультимедийные службы
- Международные настройки
-
Программные фреймворки
-
turtle— Графика черепахи -
cmd— Поддержка интерпретаторов команд с линейным вводом -
shlex— Простая лексическая обработка
-
-
Программные фреймворки
-
Графические пользовательские интерфейсы с Tk
-
tkinter— Python-интерфейс к Tcl/Tk tkinter.colorchooser— Диалог выбора цветаtkinter.font— Обёртка шрифтов Tkinter- Диалоги Tkinter
tkinter.messagebox— Сообщения Tkintertkinter.scrolledtext— Виджет с полосой прокруткиtkinter.dnd— Поддержка перетаскивания-
tkinter.ttk— Тематические виджеты Tk -
tkinter.tix— Расширенные виджеты для Tk
-
-
Графические пользовательские интерфейсы с Tk
-
Инструменты разработки
-
typing— Поддержка подсказок типов- Спецификация для системы типов Python
- Псевдонимы типов
- NewType
- Аннотирование вызываемых объектов
- Обобщения
- Аннотирование кортежей
- Тип объектов класса
- Пользовательские обобщенные типы
- Тип
Any - Номинальный против структурного подтипирования
- Содержание модуля
- График устаревания основных функций
pydoc— Генератор документации и система справки онлайн- Режим разработки Python
-
doctest— Тестирование интерактивных примеров Python -
unittest— Фреймворк для тестирования юнит-тестов
-
-
Инструменты разработки
-
unittest.mock— библиотека объектов-заглушек -
unittest.mock— начало работы-
Использование Mock
- Моделирование методов
- Использование Mock для вызовов методов объекта
- Моделирование классов
- Именование заглушек
- Отслеживание всех вызовов
- Установка возвращаемых значений и атрибутов
- Выбрасывание исключений с помощью заглушек
- Функции и итерируемые объекты с побочными эффектами
- Моделирование асинхронных итераторов
- Моделирование асинхронного контекстного менеджера
- Создание Mock из существующего объекта
- Использование side_effect для возврата содержимого файлов
- Декораторы patch
-
Дополнительные примеры
- Моделирование цепочек вызовов
- Частичное моделирование
- Моделирование метода-генератора
- Применение одной и той же замены к каждому методу теста
- Моделирование несвязанных методов
- Проверка нескольких вызовов с помощью mock
- Работа с изменяемыми аргументами
- Вложенные замены
- Моделирование словаря с MagicMock
- Подклассы Mock и их атрибуты
- Моделирование импортов с помощью patch.dict
- Отслеживание порядка вызовов и менее подробные утверждения о вызовах
- Более сложные соответствия аргументов
-
Использование Mock
- 2to3 — автоматическое преобразование кода Python 2 в 3
-
test— пакет регрессионных тестов для Python test.support— утилиты для набора тестов Pythontest.support.socket_helper— утилиты для тестов сокетовtest.support.script_helper— утилиты для тестов выполнения Pythontest.support.bytecode_helper— инструменты поддержки для тестирования корректного генерирования байткодаtest.support.threading_helper— утилиты для тестов многопоточностиtest.support.os_helper— утилиты для тестов os
-
- Отладка и профилирование
- Управление пакетами и дистрибуцией программного обеспечения
-
Службы выполнения Python
sys— Параметры и функции, специфичные для системы-
sys.monitoring— Мониторинг событий выполнения -
sysconfig— Предоставление доступа к конфигурационной информации Python builtins— Встроенные объекты-
__main__— Среда кода верхнего уровня -
warnings— Управление предупреждениями -
dataclasses— Классы данных- Содержание модуля
- Обработка после инициализации
- Переменные класса
- Переменные, используемые только при инициализации
- Замороженные экземпляры
- Наследование
- Переупорядочение параметров-только-ключевых слов в
__init__() - Функции по умолчанию для создания
- Изменяемые значения по умолчанию
- Поля с типом дескриптора
-
contextlib— Утилиты для контекстов с операторомwith abc— Абстрактные базовые классы-
atexit— Обработчики завершения -
traceback— Вывод или получение трассировки стека -
__future__— Определения операторов будущего gc— Интерфейс сборщика мусора
-
Службы выполнения Python
- Пользовательские интерпретаторы Python
-
Импорт модулей
-
zipimport— Импорт модулей из архивов Zip pkgutil— Утилита расширения пакетов-
modulefinder— Поиск модулей, используемых скриптом runpy— Поиск и выполнение Python-модулей-
importlib— Реализацияimport -
importlib.resources— Чтение, открытие и доступ к ресурсам пакетов importlib.resources.abc— Абстрактные базовые классы для ресурсов-
importlib.metadata— Доступ к метаданным пакетов -
Инициализация пути поиска модулей
sys.path
-
-
Услуги языка Python
-
ast— Деревья абстрактной синтаксической структуры -
symtable— Доступ к таблицам символов компилятора token— Константы, используемые с деревьями разбора Pythonkeyword— Проверка на ключевые слова Python-
tokenize— Токенизатор для исходного кода Python tabnanny— Обнаружение неоднозначного отступа-
pyclbr— Поддержка браузера модулей Python -
py_compile— Компиляция файлов исходного кода Python -
compileall— Компиляция библиотек Python в байткод -
dis— Диссеблер байткода Python -
pickletools— Инструменты для разработчиков pickle
-
- Услуги MS Windows
-
Услуги Unix
-
posix— Наиболее распространённые системные вызовы POSIX pwd— База данных паролейgrp— База данных групп-
termios— Управление tty в стиле POSIX tty— Функции управления терминалом-
pty— Утилиты псевдотерминалов fcntl— Системные вызовыfcntlиioctl-
resource— Информация об использовании ресурсов -
syslog— Рутнины библиотеки syslog Unix
-
- Модули интерфейса командной строки (CLI)
-
Услуги языка Python
-
Модули, которые устарели
aifc— Чтение и запись файлов AIFF и AIFCaudioop— Обработка аудиоданных в сыром виде-
cgi— Поддержка Common Gateway Interface cgitb— Управление трассировкой для CGI-скриптовchunk— Чтение данных IFF с фрагментами-
crypt— Функция проверки Unix-паролей imghdr— Определение типа изображенияmailcap— Обработка файлов mailcap-
msilib— Чтение и запись файлов Microsoft Installer nis— Интерфейс к NIS (Yellow Pages) Sun-
nntplib— Клиент протокола NNTP -
optparse— Парсер командной строки- Обзор
- Учебник
- Справочник
-
Обратные вызовы параметров
- Определение параметра с обратным вызовом
- Как вызываются обратные вызовы
- Выбрасывание ошибок в обратном вызове
- Пример обратного вызова 1: тривиальный обратный вызов
- Пример обратного вызова 2: проверка порядка параметров
- Пример обратного вызова 3: проверка порядка параметров (обобщённый)
- Пример обратного вызова 4: проверка произвольного условия
- Пример обратного вызова 5: фиксированные аргументы
- Пример обратного вызова 6: переменные аргументы
-
Расширение
optparse - Исключения
-
ossaudiodev— Доступ к устройствам аудио с поддержкой OSS -
pipes— Интерфейс к конвейерам оболочки sndhdr— Определение типа звукового файлаspwd— База данных паролей shadow
-
Модули, которые устарели
-
Расширение и интеграция интерпретатора Python
- Рекомендуемые инструменты сторонних разработчиков
-
Создание расширений без использования инструментов сторонних разработчиков
-
1. Расширение Python с помощью C или C++
- 1.1. Простой пример
- 1.2. Межпространство: Ошибки и исключения
- 1.3. Возвращение к примеру
- 1.4. Таблица методов модуля и функция инициализации
- 1.5. Компиляция и компоновка
- 1.6. Вызов функций Python из C
- 1.7. Извлечение параметров в функциях расширения
- 1.8. Параметры ключевых слов для функций расширения
- 1.9. Создание произвольных значений
- 1.10. Счётчик ссылок
- 1.11. Создание расширений на C++
- 1.12. Предоставление C API для модуля расширения
- 2. Определение типов расширения: Руководство
- 3. Определение типов расширения: Разнообразные темы
- 4. Сборка C и C++ расширений
- 5. Сборка C и C++ расширений в Windows
-
1. Расширение Python с помощью C или C++
- Интеграция среды выполнения CPython в более крупное приложение
-
Справочник по API Python/C
- Введение
- Стабильность API C
- Слой очень высокого уровня
- Подсчёт ссылок
- Обработка исключений
- Утилиты
- Абстрактный слой объектов
-
Объекты уровня конкретных объектов
- Основные объекты
- Числовые объекты
- Последовательные объекты
- Объекты контейнеров
- Объекты функций
- Другие объекты
-
Объекты уровня конкретных объектов
-
Инициализация, завершение и потоки
- Перед инициализацией Python
- Глобальные переменные конфигурации
- Инициализация и завершение интерпретатора
- Параметры, относящиеся к процессу
- Состояние потока и глобальная блокировка интерпретатора
- Поддержка под-интерпретаторов
- Асинхронные уведомления
- Профилирование и отслеживание
- Расширенная поддержка отладчика
- Поддержка локального хранилища для потоков
- Конфигурация инициализации Python
- Управление памятью
- Поддержка реализации объектов
- Версионирование API и ABI
-
Инициализация, завершение и потоки
- Установка модулей Python
-
Python HOWTO
- Перевод модулей расширений на Python 3
- Программирование с использованием Curses в Python
- Руководство по описателям
- Отладка расширений API C и интерпретатора CPython с помощью GDB
-
Справочник по перечислениям
- Программный доступ к членам перечисления и их атрибутам
- Дублирование членов и значений перечисления
- Обеспечение уникальности значений перечисления
- Использование автоматических значений
- Итерация
- Сравнения
- Разрешенные члены и атрибуты перечислений
- Ограниченное наследование от перечислений
- Поддержка dataclass
- Сериализация
- Функциональный API
- Производные перечисления
-
Когда использовать
__new__()вместо__init__() - В чём разница между перечислениями и флагами?
- Кулинарная книга по перечислениям
- Наследование от EnumType
- Справочник по функциональному программированию
-
Справочник по перечислениям
-
Пособие по ведению журналов
- Использование ведения журналов в нескольких модулях
- Ведение журналов из нескольких потоков
- Несколько обработчиков и форматеров
- Ведение журналов в несколько мест назначения
- Настройка обработки уровней
- Пример конфигурационного сервера
- Обработка блокирующих обработчиков
- Отправка и получение событий ведения журналов через сеть
- Добавление контекстной информации в вывод журнала
- Использование
contextvars - Передача контекстной информации в обработчиках
- Ведение журнала в один файл из нескольких процессов
- Использование ротации файлов
- Использование альтернативных стилей форматирования
- Настройка
LogRecord - Наследование от QueueHandler и QueueListener — пример ZeroMQ
-
Наследование от QueueHandler и QueueListener — пример
pynng - Пример конфигурации на основе словаря
- Использование rotator и namer для настройки обработки ротации логов
- Более сложный пример использования многопроцессорности
- Вставка BOM в сообщения, отправленные в SysLogHandler
- Реализация структурированного ведения журнала
- Настройка обработчиков с помощью
dictConfig() - Использование определенных стилей форматирования по всему приложению
- Настройка фильтров с помощью
dictConfig() - Настройка форматирования исключений
- Общение с сообщениями журнала
- Буферизация сообщений журнала и условный вывод
- Отправка сообщений журнала по электронной почте с буферизацией
- Форматирование времени с использованием UTC (GMT) через конфигурацию
- Использование менеджера контекста для выборочного ведения журнала
- Шаблон стартового приложения командной строки
- Графический интерфейс Qt для ведения журнала
- Ведение журнала в syslog с поддержкой RFC5424
- Как обращаться с логгером как с потоком вывода
- Шаблоны, которых следует избегать
- Другие ресурсы
-
Пособие по ведению журналов
- Как использовать регулярные выражения
- Руководство по программированию сокетов
- Сортировка
- Руководство по Unicode
- Как получать ресурсы из интернета с помощью модуля urllib
- Модуль argparse
- Вводная статья по модулю ipaddress
- Инструментирование CPython с помощью DTrace и SystemTap
-
Поддержка Python для профилировщика Linux
perf - Рекомендации по аннотациям
-
Изоляция модулей расширений
- Кому следует прочитать это
- Общие сведения
- Обеспечение безопасности модулей с несколькими интерпретаторами
- Типы кучи
- Открытые вопросы
- Порядок разрешения методов Python 2.3
-
Часто задаваемые вопросы по Python
- Общие вопросы по Python
- Вопросы по программированию на Python
-
Вопросы по проектированию и истории Python
- Почему Python использует отступы для группировки операторов?
- Почему я получаю странные результаты при простых арифметических операциях?
- Почему вычисления с плавающей точкой такие неточные?
- Почему строки Python неизменяемы?
- Почему необходимо явно использовать «self» в определениях и вызовах методов?
- Почему я не могу использовать присваивание в выражении?
- Почему Python использует методы для некоторых функций (например, list.index()), а для других – функции (например, len(list))?
- Почему метод join() является методом строк, а не списков или кортежей?
- Насколько быстро работают исключения?
- Почему в Python нет операторов switch или case?
- Нельзя ли эмулировать потоки в интерпретаторе вместо зависимости от реализации потоков, специфичной для ОС?
- Почему выражения lambda не могут содержать операторы?
- Можно ли скомпилировать Python в машинный код, C или какой-либо другой язык?
- Как Python управляет памятью?
- Почему CPython не использует более традиционную схему сбора мусора?
- Почему не освобождается вся память при выходе из CPython?
- Почему существуют отдельные типы данных кортежи и списки?
- Как реализованы списки в CPython?
- Как реализованы словари в CPython?
- Почему ключи словарей должны быть неизменяемыми?
- Почему list.sort() не возвращает отсортированный список?
- Как указать и принудительно соблюдать спецификацию интерфейса в Python?
- Почему в Python нет оператора goto?
- Почему строки-сырые (r-строки) не могут заканчиваться обратным слешем?
- Почему в Python нет оператора «with» для присваивания атрибутов?
- Почему генераторы не поддерживают оператор with?
- Почему двоеточия обязательны для операторов if/while/def/class?
- Почему Python разрешает запятые в конце списков и кортежей?
- Вопросы по библиотекам и расширениям Python
-
Вопросы по расширению и интеграции Python
- Могу ли я создать свои собственные функции на C?
- Могу ли я создать свои собственные функции на C++?
- Работа с C сложная; есть ли альтернативы?
- Как выполнить произвольные операторы Python из C?
- Как оценить произвольное выражение Python из C?
- Как извлечь значения C из объекта Python?
- Как использовать Py_BuildValue() для создания кортежа произвольной длины?
- Как вызвать метод объекта из C?
- Как перехватить вывод из PyErr_Print() (или чего-либо, что выводит в stdout/stderr)?
- Как получить доступ к модулю, написанному на Python, из C?
- Как взаимодействовать с объектами C++ из Python?
- Я добавил модуль с помощью файла Setup, но make терпит неудачу; почему?
- Как отладить расширение?
- Я хочу скомпилировать модуль Python на моей Linux-системе, но некоторые файлы отсутствуют. Почему?
- Как отличить "неполный ввод" от "неправильного ввода"?
- Как найти неопределённые символы g++ __builtin_new или __pure_virtual?
- Можно ли создать класс объекта с некоторыми методами, реализованными на C, и другими на Python (например, через наследование)?
-
Вопросы и ответы по Python в Windows
- Как запустить программу Python в Windows?
- Как сделать скрипты Python исполняемыми?
- Почему Python иногда долго запускается?
- Как создать исполняемый файл из скрипта Python?
- Является ли файл
*.pydтаким же, как DLL? - Как встроить Python в приложение Windows?
- Как предотвратить вставку табуляции редакторами в исходный код Python?
- Как проверить нажатие клавиши без блокировки?
- Как исправить ошибку отсутствия api-ms-win-crt-runtime-l1-1-0.dll?
- Вопросы и ответы по графическому интерфейсу
- “Почему Python установлен на моём компьютере?”
-
Вопросы и ответы по Python в Windows
- Устаревшие функции
- Глоссарий
- О документации
- Обработка ошибок
- Авторские права
- История и лицензия
© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/contents.html