Содержание документации Python¶
- Что нового в Python
- Что нового в Python 3.8
- Резюме - основные моменты выпуска
- Новые функции
- Выражения назначения
- Только позиционные параметры
- Параллельный кэш файловой системы для скомпилированных файлов байт-кодов
- В отладочной сборке используется тот же ABI, что и в версии build
- Поддержка f-строки
=для самостоятельного документирования выражений и отладки - PEP 578: Python хуки аудита времени выполнения
- PEP 587: Инициализация конфигурации Python
- 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
- What’s New In Python 3.7
- Summary – Release Highlights
- New Features
- PEP 563: Postponed Evaluation of Annotations
- PEP 538: Legacy C Locale Coercion
- PEP 540: Forced UTF-8 Runtime Mode
- PEP 553: Built-in
breakpoint() - PEP 539: New C API for Thread-Local Storage
- PEP 562: Customization of Access to Module Attributes
- PEP 564: New Time Functions With Nanosecond Resolution
- PEP 565: Show DeprecationWarning in
__main__ - PEP 560: Core Support for
typingmodule and Generic Types - PEP 552: Hash-based .pyc Files
- PEP 545: Python Documentation Translations
- Development Runtime Mode: -X dev
- Other Language Changes
- New Modules
- Improved Modules
- 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 and 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.etree
- xmlrpc.server
- zipapp
- zipfile
- C API Changes
- Build Changes
- Optimizations
- Other CPython Implementation Changes
- Deprecated Python Behavior
- Deprecated Python modules, functions and methods
- Deprecated functions and types of the C API
- Platform Support Removals
- API and Feature Removals
- Module Removals
- Windows-only Changes
- Porting to Python 3.7
- Notable changes in Python 3.7.1
- Notable changes in Python 3.7.2
- Notable changes in Python 3.7.6
- What’s New In Python 3.6
- Summary – Release highlights
- New Features
- PEP 498: Formatted string literals
- PEP 526: Syntax for variable annotations
- PEP 515: Underscores in Numeric Literals
- PEP 525: Asynchronous Generators
- PEP 530: Asynchronous Comprehensions
- PEP 487: Simpler customization of class creation
- PEP 487: Descriptor Protocol Enhancements
- PEP 519: Adding a file system path protocol
- PEP 495: Local Time Disambiguation
- PEP 529: Change Windows filesystem encoding to UTF-8
- PEP 528: Change Windows console encoding to UTF-8
- PEP 520: Preserving Class Attribute Definition Order
- PEP 468: Preserving Keyword Argument Order
- New
dictimplementation - PEP 523: Adding a frame evaluation API to CPython
- PYTHONMALLOC environment variable
- DTrace and SystemTap probing support
- Other Language Changes
- New Modules
- Improved Modules
- array
- ast
- asyncio
- binascii
- cmath
- collections
- concurrent.futures
- contextlib
- datetime
- decimal
- distutils
- encodings
- enum
- faulthandler
- fileinput
- hashlib
- http.client
- idlelib and 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
- Optimizations
- Build and C API Changes
- Other Improvements
- Deprecated
- Removed
- Porting to Python 3.6
- Notable changes in Python 3.6.2
- Notable changes in Python 3.6.4
- Notable changes in Python 3.6.5
- Notable changes in Python 3.6.7
- Notable changes in Python 3.6.10
- What’s New In Python 3.5
- Summary – Release highlights
- New Features
- PEP 492 - Coroutines with async and await syntax
- PEP 465 - A dedicated infix operator for matrix multiplication
- PEP 448 - Additional Unpacking Generalizations
- PEP 461 - percent formatting support for bytes and bytearray
- PEP 484 - Type Hints
- PEP 471 - os.scandir() function – a better and faster directory iterator
- PEP 475: Retry system calls failing with EINTR
- PEP 479: Change StopIteration handling inside generators
- PEP 485: A function for testing approximate equality
- PEP 486: Make the Python Launcher aware of virtual environments
- PEP 488: Elimination of PYO files
- PEP 489: Multi-phase extension module initialization
- Other Language Changes
- New Modules
- Improved Modules
- 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 and 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
- Other module-level changes
- Optimizations
- Build and C API Changes
- Deprecated
- Removed
- Porting to Python 3.5
- Notable changes in Python 3.5.4
- What’s New In Python 3.4
- Summary – Release Highlights
- New Features
- New Modules
- Improved Modules
- abc
- aifc
- argparse
- audioop
- base64
- collections
- colorsys
- contextlib
- dbm
- dis
- doctest
- filecmp
- functools
- gc
- glob
- hashlib
- hmac
- html
- http
- idlelib and 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
- CPython Implementation Changes
- Deprecated
- Removed
- Porting to Python 3.4
- Changed in 3.4.3
- What’s New In Python 3.3
- Summary – Release highlights
- PEP 405: Virtual Environments
- PEP 420: Implicit Namespace Packages
- PEP 3118: New memoryview implementation and buffer protocol documentation
- PEP 393: Flexible String Representation
- PEP 397: Python Launcher for Windows
- PEP 3151: Reworking the OS and IO exception hierarchy
- PEP 380: Syntax for Delegating to a Subgenerator
- PEP 409: Suppressing exception context
- PEP 414: Explicit Unicode literals
- PEP 3155: Qualified name for classes and functions
- PEP 412: Key-Sharing Dictionary
- PEP 362: Function Signature Object
- PEP 421: Adding sys.implementation
- Using importlib as the Implementation of Import
- Other Language Changes
- A Finer-Grained Import Lock
- Builtin functions and types
- New Modules
- Improved Modules
- 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
- Optimizations
- Build and C API Changes
- Deprecated
- Porting to Python 3.3
- What’s New In Python 3.2
- PEP 384: Defining a Stable ABI
- PEP 389: Argparse Command Line Parsing Module
- PEP 391: Dictionary Based Configuration for Logging
- PEP 3148: The
concurrent.futuresmodule - PEP 3147: PYC Repository Directories
- PEP 3149: ABI Version Tagged .so Files
- PEP 3333: Python Web Server Gateway Interface v1.0.1
- Other Language Changes
- New, Improved, and Deprecated Modules
- elementtree
- functools
- itertools
- collections
- threading
- datetime and time
- math
- abc
- io
- reprlib
- logging
- csv
- contextlib
- decimal and fractions
- ftp
- popen
- select
- gzip and zipfile
- tarfile
- hashlib
- ast
- os
- shutil
- sqlite3
- html
- socket
- ssl
- nntp
- certificates
- imaplib
- http.client
- unittest
- random
- poplib
- asyncore
- tempfile
- inspect
- pydoc
- dis
- dbm
- ctypes
- site
- sysconfig
- pdb
- configparser
- urllib.parse
- mailbox
- turtledemo
- Multi-threading
- Optimizations
- Unicode
- Codecs
- Documentation
- IDLE
- Code Repository
- Build and C API Changes
- Porting to Python 3.2
- What’s New In Python 3.1
- What’s New In Python 3.0
- What’s New in Python 2.7
- The Future for Python 2.x
- Changes to the Handling of Deprecation Warnings
- Python 3.1 Features
- PEP 372: Adding an Ordered Dictionary to collections
- PEP 378: Format Specifier for Thousands Separator
- PEP 389: The argparse Module for Parsing Command Lines
- PEP 391: Dictionary-Based Configuration For Logging
- PEP 3106: Dictionary Views
- PEP 3137: The memoryview Object
- Other Language Changes
- New and Improved Modules
- Build and C API Changes
- Other Changes and Fixes
- Porting to Python 2.7
- New Features Added to Python 2.7 Maintenance Releases
- Two new environment variables for debug mode
- PEP 434: IDLE Enhancement Exception for All Branches
- PEP 466: Network Security Enhancements for Python 2.7
- PEP 477: Backport ensurepip (PEP 453) to Python 2.7
- PEP 476: Enabling certificate verification by default for stdlib http clients
- PEP 493: HTTPS verification migration tools for Python 2.7
- New
make regen-allbuild target - Removal of
make touchbuild target
- Acknowledgements
- What’s New in Python 2.6
- Python 3.0
- Changes to the Development Process
- PEP 343: The „with“ statement
- PEP 366: Explicit Relative Imports From a Main Module
- PEP 370: Per-user
site-packagesDirectory - PEP 371: The
multiprocessingPackage - PEP 3101: Advanced String Formatting
- PEP 3105:
printAs a Function - PEP 3110: Exception-Handling Changes
- PEP 3112: Byte Literals
- PEP 3116: New I/O Library
- PEP 3118: Revised Buffer Protocol
- PEP 3119: Abstract Base Classes
- PEP 3127: Integer Literal Support and Syntax
- PEP 3129: Class Decorators
- PEP 3141: A Type Hierarchy for Numbers
- Other Language Changes
- New and Improved Modules
- Deprecations and Removals
- Build and C API Changes
- Porting to Python 2.6
- Acknowledgements
- What’s New in Python 2.5
- PEP 308: Conditional Expressions
- PEP 309: Partial Function Application
- PEP 314: Metadata for Python Software Packages v1.1
- PEP 328: Absolute and Relative Imports
- PEP 338: Executing Modules as Scripts
- PEP 341: Unified try/except/finally
- PEP 342: New Generator Features
- PEP 343: The „with“ statement
- PEP 352: Exceptions as New-Style Classes
- PEP 353: Using ssize_t as the index type
- PEP 357: The „__index__“ method
- Other Language Changes
- New, Improved, and Removed Modules
- Build and C API Changes
- Porting to Python 2.5
- Acknowledgements
- What’s New in Python 2.4
- PEP 218: Built-In Set Objects
- PEP 237: Unifying Long Integers and Integers
- PEP 289: Generator Expressions
- PEP 292: Simpler String Substitutions
- PEP 318: Decorators for Functions and Methods
- PEP 322: Reverse Iteration
- PEP 324: New subprocess Module
- PEP 327: Decimal Data Type
- PEP 328: Multi-line Imports
- PEP 331: Locale-Independent Float/String Conversions
- Other Language Changes
- New, Improved, and Deprecated Modules
- Build and C API Changes
- Porting to Python 2.4
- Acknowledgements
- What’s New in Python 2.3
- PEP 218: A Standard Set Datatype
- PEP 255: Simple Generators
- PEP 263: Source Code Encodings
- PEP 273: Importing Modules from ZIP Archives
- PEP 277: Unicode file name support for Windows NT
- PEP 278: Universal Newline Support
- PEP 279: enumerate()
- PEP 282: The logging Package
- PEP 285: A Boolean Type
- PEP 293: Codec Error Handling Callbacks
- PEP 301: Package Index and Metadata for Distutils
- PEP 302: New Import Hooks
- PEP 305: Comma-separated Files
- PEP 307: Pickle Enhancements
- Extended Slices
- Other Language Changes
- New, Improved, and Deprecated Modules
- Pymalloc: A Specialized Object Allocator
- Build and C API Changes
- Other Changes and Fixes
- Porting to Python 2.3
- Acknowledgements
- What’s New in Python 2.2
- Introduction
- PEPs 252 and 253: Type and Class Changes
- PEP 234: Iterators
- PEP 255: Simple Generators
- PEP 237: Unifying Long Integers and Integers
- PEP 238: Changing the Division Operator
- Unicode Changes
- PEP 227: Nested Scopes
- New and Improved Modules
- Interpreter Changes and Fixes
- Other Changes and Fixes
- Acknowledgements
- What’s New in Python 2.1
- Introduction
- PEP 227: Nested Scopes
- PEP 236: __future__ Directives
- PEP 207: Rich Comparisons
- PEP 230: Warning Framework
- PEP 229: New Build System
- PEP 205: Weak References
- PEP 232: Function Attributes
- PEP 235: Importing Modules on Case-Insensitive Platforms
- PEP 217: Interactive Display Hook
- PEP 208: New Coercion Model
- PEP 241: Metadata in Python Packages
- New and Improved Modules
- Other Changes and Fixes
- Acknowledgements
- What’s New in Python 2.0
- Introduction
- What About Python 1.6?
- New Development Process
- Unicode
- List Comprehensions
- Augmented Assignment
- String Methods
- Garbage Collection of Cycles
- Other Core Changes
- Porting to 2.0
- Extending/Embedding Changes
- Distutils: Making Modules Easy to Install
- XML Modules
- Module changes
- New modules
- IDLE Improvements
- Deleted and Deprecated Modules
- Acknowledgements
- Changelog
- Python 3.8.3 final
- Python 3.8.3 release candidate 1
- Python 3.8.2 final
- Python 3.8.2 release candidate 2
- Python 3.8.2 release candidate 1
- Python 3.8.1 final
- Python 3.8.1 release candidate 1
- Python 3.8.0 final
- Python 3.8.0 release candidate 1
- Python 3.8.0 beta 4
- Python 3.8.0 beta 3
- Python 3.8.0 beta 2
- Python 3.8.0 beta 1
- Python 3.8.0 alpha 4
- Python 3.8.0 alpha 3
- Python 3.8.0 alpha 2
- Python 3.8.0 alpha 1
- Python 3.7.0 final
- Python 3.7.0 release candidate 1
- Python 3.7.0 beta 5
- Python 3.7.0 beta 4
- Python 3.7.0 beta 3
- Python 3.7.0 beta 2
- Python 3.7.0 beta 1
- Python 3.7.0 alpha 4
- Python 3.7.0 alpha 3
- Python 3.7.0 alpha 2
- Python 3.7.0 alpha 1
- Python 3.6.6 final
- Python 3.6.6 release candidate 1
- Python 3.6.5 final
- Python 3.6.5 release candidate 1
- Python 3.6.4 final
- Python 3.6.4 release candidate 1
- Python 3.6.3 final
- Python 3.6.3 release candidate 1
- Python 3.6.2 final
- Python 3.6.2 release candidate 2
- Python 3.6.2 release candidate 1
- Python 3.6.1 final
- Python 3.6.1 release candidate 1
- Python 3.6.0 final
- Python 3.6.0 release candidate 2
- Python 3.6.0 release candidate 1
- Python 3.6.0 beta 4
- Python 3.6.0 beta 3
- Python 3.6.0 beta 2
- Python 3.6.0 beta 1
- Python 3.6.0 alpha 4
- Python 3.6.0 alpha 3
- Python 3.6.0 alpha 2
- Python 3.6.0 alpha 1
- Python 3.5.5 final
- Python 3.5.5 release candidate 1
- Python 3.5.4 final
- Python 3.5.4 release candidate 1
- Python 3.5.3 final
- Python 3.5.3 release candidate 1
- Python 3.5.2 final
- Python 3.5.2 release candidate 1
- Python 3.5.1 final
- Python 3.5.1 release candidate 1
- Python 3.5.0 final
- Python 3.5.0 release candidate 4
- Python 3.5.0 release candidate 3
- Python 3.5.0 release candidate 2
- Python 3.5.0 release candidate 1
- Python 3.5.0 beta 4
- Python 3.5.0 beta 3
- Python 3.5.0 beta 2
- Python 3.5.0 beta 1
- Python 3.5.0 alpha 4
- Python 3.5.0 alpha 3
- Python 3.5.0 alpha 2
- Python 3.5.0 alpha 1
- Что нового в Python 3.8
- Учебник по Python
- 1. Разжигая ваш аппетит
- 2. Использование интерпретатора Python
- 3. Неофициальное введение в Python
- 4. Дополнительные средства управления потоком
- 4.1. Инструкция
if - 4.2. Инструкция
for - 4.3. Функция
range() - 4.4. Инструкции
breakиcontinue, а также уточненияelseциклов - 4.5. Инструкция
pass - 4.6. Определение функций
- 4.7. Дополнительные сведения об определении функций
- 4.8. Интермеццо: Стиль написания кода
- 4.1. Инструкция
- 5. Структуры данных
- 6. Модули
- 7. Вход и выход
- 8. Ошибки и исключения
- 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 в Windows
- 3.1. Полная установка
- 3.2. Пакет Microsoft Store
- 3.3. Пакеты nuget.org
- 3.4. Встраиваемый пакет
- 3.5. Альтернативные связки
- 3.6. Настройка Python
- 3.7. Режим UTF-8
- 3.8. Python лаунчер для Windows
- 3.9. Нахождение модулей
- 3.10. Дополнительные модули
- 3.11. Компиляция Python в Windows
- 3.12. Другие платформы
- 4. Использование Python на Macintosh
- 5. Редакторы и IDE
- Справочник по языку Python
- 1. Введение
- 2. Лексический анализ
- 3. Модель данных
- 3.1. Объекты, значения и типы
- 3.2. Стандартная иерархия типов
- 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.4. Корутины
- 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. Лямбды
- 6.15. Списки выражений
- 6.16. Порядок вычисления
- 6.17. Приоритет оператора
- 7. Простые операторы
- 8. Составные операторы
- 9. Компоненты верхнего уровня
- 10. Полная спецификация грамматик
- Стандартная библиотека Python
- Введение
- Встроенные функции
- Встроенные константы
- Встроенные типы
- Проверка истинности значения
- Логические операции —
and,or,not - Сравнения
- Числовые типы —
int,float,complex - Типы итератора
- Типы последовательности —
list,tuple,range - Тип последовательности текста —
str - Тип двоичной последовательности —
bytes,bytearray,memoryview - Типы множества —
set,frozenset - Типы сопоставления —
dict - Типы менеджера контекста
- Другие встроенные типы
- Специальные атрибуты
- Встроенные исключения
- Службы по обработке текста
string— Общие строковые операцииre— Операции с регулярными выражениямиdifflib— Хэлперы для вычисления различийtextwrap— Обертывание и заполнение текстаunicodedata— База данных Юникодstringprep— Подготовка строк для Интернетаreadline— Интерфейс к GNU readlinerlcompleter— Функция завершения для GNU readline
- Бинарные данные
struct— Интерпретация байтов как упакованные двоичные данныеcodecs— Реестр кодировок и базовых классов
- Типы данных
datetime— Базовые типы для представления даты и времениcalendar— Календарные функцииcollections— Контейнерные типы данныхcollections.abc— Абстрактные базовые классы для контейнеровheapq— Алгоритм очереди кучиbisect— Алгоритм деления пополамarray— Эффективные массивы числовых значенийweakref— Слабые ссылкиtypes— Динамическое создание типов и имена для встроенных типовcopy— Функции поверхностного и глубокого копированияpprint— Приятная печать данныхreprlib— Альтернативная реализацияrepr()enum— Поддержка перечислений- Содержание модуля
- Создание Enum
- Программный доступ к полям переписей и их атрибуты
- Дублирование элементов enum и значения
- Обеспечение уникального перечисления значения
- Используя автоматический значения
- Итерация
- Сравнения
- Допустимые поля и атрибуты перечислений
- Ограниченная подклассификация Enum
- Пиклинг
- Функциональный API
- Полученные перечисления
- Когда использовать
__new__()против__init__() - Интересные примеры
- Чем Enums отличаются?
- Числовые и математические модули
numbers— Числовые абстрактные базовые классыmath— Математические функцииcmath— Математические функции для комплексных чиселdecimal— Десятичная арифметика с фиксированной и плавающей точкойfractions— Рациональные числаrandom— Генерация псевдослучайных чиселstatistics— Функции математической статистики
- Модули функционального программирования
- Доступ к файлам и каталогам
pathlib— Объектно-ориентированные пути файловой системыos.path— Общие манипуляции с путями к файлам и каталогамfileinput— Перебор строк из нескольких входных потоковstat— Интерпретация результатовstat()filecmp— Сравнение файлов и каталоговtempfile— Генерация временных файлов и каталоговglob— Шаблоны расширений пути в стиле оболочки Unixfnmatch— Соответствие шаблону имени файла Unixlinecache— Произвольный доступ к текстовым строкамshutil— Высокоуровневые файловые операции
- Постоянство данных
pickle— Сериализация объектов Pythoncopyreg— Регистрация функций поддержкиpickleshelve— Сохраняемость объектов Pythonmarshal— Внутренняя сериализация объекта Pythondbm— Интерфейсы для «баз данных» Unixsqlite3— Интерфейс DB-API 2.0 для баз данных SQLite
- Компрессия данных и архивация
- Форматы файлов
- Криптографические сервисы
- Универсальные слжбы для различных операционных систем
os— Разные интерфейсы операционной системыio— Основные инструменты для работы с потокамиtime— Время доступа и конверсииargparse— парсер параметров командной строки, аргументов и подкомандgetopt— С-подобный парсер параметров командной строкиlogging— Средство журналирования для Pythonlogging.config— Конфигурация журналированияlogging.handlers— Обработчики журналированияgetpass— Портабельный ввод пароляcurses— Отрисовка псевдографического интерфейса в терминалеcurses.textpad— Виджет текстового ввода для curses программcurses.ascii— Утилиты для ASCII символовcurses.panel— Расширение стека panel для cursesplatform— Доступ к данным идентификации базовой платформыerrno— Стандартные символы для errnoctypes— Python библиотека внешних функций- Учебник по ctypes
- Загрузка динамически связанных библиотек
- Доступ к функциям из загруженных dll
- Вызов функций
- Фундаментальные типы данных
- Вызов функций, продолжение
- Вызов функций с собственными пользовательскими типами данных
- Указание требуемых типов аргументов (прототипов функций)
- Возвращаемые типы
- Передача указателей (передача параметров по ссылке)
- Структуры и объединения
- Выравнивание структуры/объединения и порядок байтов
- Битовые поля в структурах и объединениях
- Массивы
- Указатели
- Преобразование типов
- Неполные типы
- Колбэк функции
- Доступ к значеним, экспортированным из dll
- Неожиданности
- Типы данных переменного размера
- Справочник ctypes
- Учебник по ctypes
- Конкурентное выполнение
threading— Потоковый параллелизмmultiprocessing— Процессный параллелизмmultiprocessing.shared_memory— Предоставляет общую память для прямого доступа между процессами- Пакет
concurrent concurrent.futures— Запуск параллельных задачsubprocess— Управление подпроцессамиsched— Планировщик событийqueue— Класс синхронизированной очереди_thread— Низкоуровневый API потоков_dummy_thread— Замена модуля_threaddummy_threading— Замена модуляthreading
contextvars— Переменные контекста- Сетевое и межпроцессное взаимодействие
asyncio— Асинхронный I/O- Корутины и задачи
- Потоки
- Примитивы синхронизации
- Потоки
- Очереди
- Исключения
- Событийный цикл
- Методы событийного цикла
- Запуск и остановка цикла
- Планирование коллбэков
- Планирование отложенных коллбэков
- Создание фьючерсов и задач
- Открытие сетевых подключений
- Создание сетевых серверов
- Передача файлов
- Обновление TLS
- Наблюдение за файловыми дескрипторами
- Непосредственная работа с объектами сокетов
- DNS
- Работа с пайпами
- Сигналы Unix
- Выполнение кода в пулах потоков или процессов
- API обработки ошибок
- Активация возможности режима отладки
- Управление подпроцессами
- Обработчики коллбэков
- Объекты сервера
- Реализация событийного цикла
- Примеры
- Методы событийного цикла
- Футуры
- Транспорты и протоколы
- Политика
- Поддержка платформ
- Индекс высокоуровневого API
- Индекс низкоуровневого API
- Разработка на asyncio
socket— Низкоуровневый сетевой интерфейсssl— TLS/SSL обёртка для сокетных объектовselect— Ожидание завершения I/Oselectors— Высокоуровневое мультиплексирование I/Oasyncore— Асинхронный обработчик сокетовasynchat— Асинхронный сокет обработчика запрос/ответsignal— Установить обработчики для асинхронных событийmmap— Поддержка отображаемых в память файлов
- Обработка интернет данных
email— Электронная почта и пакет обработки MIMEemail.message: Представление сообщения электронной почтыemail.parser: Парсинг сообщений электронной почтыemail.generator: Генерация MIME документовemail.policy: Объекты политикиemail.errors: Классы исключений и дефектовemail.headerregistry: Пользовательские объекты заголовкаemail.contentmanager: Управление контентом MIMEemail: Примерыemail.message.Message: Представление сообщения электронной почты с помощью APIcompat32email.mime: Создание объектов электронной почты и MIME с нуляemail.header: Интернационализированные заголовкиemail.charset: Representing character setsemail.encoders: Кодировкиemail.utils: Прочие утилитыemail.iterators: Итераторы
json— Кодер и декодер JSONmailcap— Обработка файлов Mailcapmailbox— Манипулирование почтовыми ящиками в различных форматахmimetypes— Сопоставление имен файлов с MIME типамиbase64— Base16, Base32, Base64, Base85 кодировки данныхbinhex— Кодирование и декодирование binhex4 файловbinascii— преобразования между двоичной и ASCIIquopri— Кодировать и декодировать MIME quoted-printable для печатиuu— Кодировать и декодировать файлы uuencode
- Инструменты обработки структурированной разметки
html— Поддержка языка гипертекстовой разметкиhtml.parser— Простой HTML и XHTML парсерhtml.entities— Определения общих сущностей HTML- Модули обработки XML
xml.etree.ElementTree— ElementTree XML APIxml.dom— API объектной модели документаxml.dom.minidom— Минимальная реализация DOMxml.dom.pulldom— Поддержка построения частичных деревьев DOMxml.sax— Поддержка SAX2 парсеровxml.sax.handler— Базовые классы для обработчиков SAXxml.sax.saxutils— Утилиты SAXxml.sax.xmlreader— Интерфейс для XML парсеровxml.parsers.expat— Быстрый парсинг XML с использованием Expat
- Интернет протоколы и поддержка
webbrowser— Удобный контроллер веб-браузераcgi— Поддержка Общего Интерфейса Шлюзаcgitb— Трейсбэк менеджер для CGI скриптовwsgiref— Утилиты WSGI и справочная реализацияurllib— Модули обработки URL-адресовurllib.request— Расширяемая библиотека для открытия URL-адресов- Запросить объекты
- Объекты OpenerDirector
- Объекты BaseHandler
- Объекты HTTPRedirectHandler
- Объекты HTTPCookieProcessor
- Объекты ProxyHandler
- Объекты HTTPPasswordMgr
- Объекты HTTPPassword MgrWityPriorAuth
- Объекты AbstractBasicAuthHandler
- Объекты HTTPBasicAuthHandler
- Объекты ProxyBasicAuthHandler
- Объекты AbstractDigestAuthHandler
- Объекты HTTPDigestAuthHandler
- Объекты ProxyDigestAuthHandler
- Объекты HTTPHandler
- Объекты HTTPSHandler
- Объекты FileHandler
- Объекты DataHandler
- Объекты FTPHandler
- Объекты CacheFTPHandler
- Объекты UnknownHandler
- Объекты HTTPErrorProcessor
- Примеры
- Устаревший интерфейс
urllib.requestограничения
urllib.response— Классы ответов, используемые urlliburllib.parse— Разбор URL-адреса на компонентыurllib.error— Классы исключений, созданные urllib.requesturllib.robotparser— Парсер для robots.txthttp— HTTP модулиhttp.client— Клиент протокола HTTPftplib— Клиент протокола FTPpoplib— Клиент протокола POP3imaplib— Клиент протокола IMAP4nntplib— Клиент протокола NNTPsmtplib— Клиент протокола SMTPsmtpd— SMTP серверtelnetlib— Клиент Telnetuuid— UUID объекты согласно RFC 4122socketserver— Фреймворк для сетевых серверовhttp.server— HTTP серверыhttp.cookies— Управление состоянием HTTPhttp.cookiejar— Обработка cookie для HTTP-клиентовxmlrpc— Серверные и клиентские XMLRPC модулиxmlrpc.client— Клиентский доступ к XML-RPCxmlrpc.server— Базовые серверы XML-RPCipaddress— Библиотека манипулирования IPv4/IPv6
- Мультимедийные сервисы
audioop— Манипуляция необработанными аудиоданнымиaifc— чтение и запись AIFF и AIFC файловsunau— Чтение и запись файлов Sun AUwave— Чтение и запись WAV файловchunk— Чтение IFF чанков данныхcolorsys— Преобразования между цветовыми системамиimghdr— Определение типа изображенияsndhdr— Определите типа звукового файлаossaudiodev— Доступ к OSS-совместимым аудиоустройствам
- Интернационализация
- Программные фреймворки
turtle— Черепашья графикаcmd— Поддержка линейно ориентированных командных интерпретаторовshlex— Простой лексический анализ
- Графические пользовательские интерфейсы с Tk
tkinter— Python интерфейс для Tcl/Tktkinter.ttk— Стилезуемые виджеты Tktkinter.tix— Расширение виджетов для Tktkinter.scrolledtext— Прокручиваемый текстовый виджет- IDLE
- Меню
- Меню «File» (Оболочка и редактор)
- Меню «Edit» (Оболочка и редактор)
- Меню «Format» (только окно «Editor»)
- Меню «Run» (только окно «Editor»)
- Меню «Shell» (только окно Shell)
- Меню Debug (только окно Shell)
- Меню «Options» (Shell и Editor)
- Меню «Window» (Shell и Editor)
- Меню «Help» (Shell и Editor)
- Контекстные меню
- Редактирование и навигация
- Запуск и выполнение кода
- Помощь и предпочтения
- Меню
- Другие пакеты графического интерфейса пользователя
- Средства разработки
typing— Поддержка подсказок типаpydoc— Генератор документации и интерактивная справочная системаdoctest— Тестовые интерактивные примеры Pythonunittest— Фреймворк юнит тестированияunittest.mock— библиотека mock объектовunittest.mock— приступая к работе- Использование Mock
- Mock патчинг методов
- Mock для вызовов метода для объекта
- Мокинг классов
- Имя вашего моки
- Отслеживание всех вызовов
- Установка возвращаемых значений и атрибутов
- Возбуждение исключений с моки
- Функции побочных эффектов и итерабельности
- Мокинг асинхронных итераторов
- Мокинг асинхронного диспетчера контекст
- Создание макета из существующего объекта
- Декораторы патчей
- Другие примеры
- Мокинг цепочечных вызовов
- Частичный мокинг
- Мокинг генератор метода
- Применение одного и того же патча к каждому методу тестирования
- Мокинг несвязанных методов
- Проверка нескольких вызовов с помощью mock
- Справляться с изменяемыми аргументами
- Вложение патчей
- Мокинг словаря с MagicMock
- Мок подклассы и их атрибуты
- Мокинг импорта с patch.dict
- Отслеживание порядка вызовов и менее подробных утверждений о вызовах
- Более сложное сопоставление аргументов
- Использование Mock
- 2to3 - автоматизированный перевод кода Python 2 на 3
test— Пакет регрессионных тестов для Pythontest.support— Утилиты для набора тестов Pythontest.support.script_helper— утилиты для выполнения тестов Python
- Отладка и профилирование
- Таблица аудита событий
bdb— Отладчный фреймворкfaulthandler— Дамп трассировки Pythonpdb— Отладчик Python- Профилировщики Python
timeit— Измерение времени выполнения небольших фрагментов кодаtrace— Трассировка или отслеживание выполнения инструкции Pythontracemalloc— Отслеживание выделения памяти
- Пакетизация и установка ПО
- Службы среды выполнения Python
sys— Системоспецифичные параметры и функцииsysconfig— Предоставляет доступ к информации о конфигурации Pythonbuiltins— Встроенные объекты__main__— Сценарий верхнего уровняwarnings— Управление предупреждениямиdataclasses— Классы данныхcontextlib— Утилиты для контекстовwith-оператора- Абстрактные базовые классы
abc atexit— Обработчики выходаtraceback— Распечатать или получить трассировку стека__future__— Определения будущих инструкцийgc— Интерфейс к сборщику мусораinspect— Осмотр живых объектовsite— Сайт-специфичный хук конфигурации
- Пользовательские интерпретаторы Python
- Импорт модулей
zipimport— Импорт модулей из Zip архивовpkgutil— Утилита расширения пакетаmodulefinder— Найти модули, используемые скриптомrunpy— Нахождение и выполнение модулей Pythonimportlib— Реализацияimport- Применение
importlib.metadata
- Языковые сервисы Python
parser— Доступ к деревьям разбора Pythonast— Абстрактные синтаксические деревьяsymtable— Доступ к таблицам символов компилятораsymbol— Константы, используемые с деревьями синтаксического анализа Pythontoken— Константы, используемые с деревьями разбора Pythonkeyword— Тестирование ключевых слов Pythontokenize— Токенизатор для исходного кода Pythontabnanny— Обнаружение неоднозначного отступаpyclbr— Поддержка браузера Python модуляpy_compile— Компиляция исходных файлов Pythoncompileall— байт-компиляции библиотеки Pythondis— Дизассемблер для Python байткодаpickletools— Инструменты для pickle разработчиков
- Разные сервисы
- Специальные службы MS Windows
- Unix специфичные службы
posix— Наиболее распространенные системные вызовы POSIXpwd— База паролейspwd— База данных теневых паролейgrp— База данных группcrypt— Функция проверки Unix паролейtermios— POSIX стиль управления ttytty— Функции управления терминаломpty— Псевдо-терминальные утилитыfcntl— Системные вызовыfcntlиioctlpipes— Интерфейс для pipelines оболочкиresource— Информация об использовании ресурсовnis— Интерфейс для Sun NIS (Желтые страницы)syslog— Подпрограммы библиотеки syslog Unix
- Замененные модули
optparse— Парсер для параметров командной строки- Фон
- Учебник
- Справочное руководство
- Колбэки Option
- Определение колбэков опций
- Как вызываются колбэки
- Поднятие ошибок в колбэке
- Колбэк пример 1: тривиальный колбэк
- Колбэк пример 2: проверить порядок опций
- Колбэк пример 3: порядок опций проверки (обобщенный)
- Колбэк пример 4: проверить произвольное условие
- Колбэк пример 5: фиксированные аргументы
- Колбэк пример 6: переменные аргументы
- Расширение
optparse
imp— Доступ к внутренностямimport
- Недокументированные модули
- Расширение и встраивание интерпретатора 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 в более крупное приложение
- Справочное руководство по Python/C API
- Введение
- Стабильный прикладной двоичный интерфейс
- Очень высокоуровневый слой
- Подсчет ссылок
- Обработка исключений
- Утилиты
- Слой абстрактных объектов
- Слой конкретных объектов
- Фундаментальные объекты
- Числовые объекты
- Секвенирование объектов
- Объекты-контейнеры
- Объекты функции
- Другие объекты
- Инициализация, финализация и потоки
- Перед инициализацией Python
- Переменные глобальной конфигурации
- Инициализация и завершение интерпретатора
- Параметры для всего процесса
- Состояние потока и блокировка глобального интерпретатора
- Поддержка подинтерпретатора
- Асинхронные уведомления
- Профилирование и трассировка
- Расширенная поддержка отладчика
- Поддержка потоков локального хранилища
- Конфигурация инициализации Python
- Управление памятью
- Поддержка реализации объекта
- Версионирование API и ABI
- Распространение модулей Python
- Установка модулей Python
- Python документы HOWTO
- Перенос кода Python 2 в код Python 3
- Короткое объяснение
- Подробнее
- Отказаться от поддержки Python 2.6 и старше
- Убедитесь, что в файле
setup.pyуказана надлежащая поддержка версий - Хороший тестовый охват
- Узнайте о различиях между Python 2 и 3
- Обновите свой кодекс
- Предотвратите регрессы совместимости
- Проверьте, какие зависимости блокируют переход
- Обновите файл
setup.py, чтобы обозначить совместимость Python 3 - Для обеспечения совместимости используйте непрерывную интеграцию
- Рассмотрите возможность использования дополнительной проверки статического типа
- Перенос модулей расширения на Python 3
- Curses программирование с Python
- HOWTO по дескрипторам
- Функциональное программное HOWTO
- Логирование HOWTO
- Поваренная книга логирования
- Использование логирования в нескольких модулях
- Логирование из нескольких потоков
- Несколько обработчиков и форматеров
- Логирование к нескольким адресатам
- Пример сервера конфигурации
- Работа с блокирующими обработчиками
- Отправка и прием событий логирование по сети
- Добавление контекстной информации в выходные данные логирования
- Логирование в один файл из нескольких процессов
- Применение ротации файлов
- Использование альтернативных стилей форматирования
- Настройка
LogRecord - Пример подкласса QueueHandler класса ZeroMQ
- Пример подкласса QueueListener класса ZeroMQ
- Пример конфигурации на основе словаря
- Использование ротатора и имени для настройки обработки ротации журнала
- Более сложный пример многопроцессной обработки
- Вставка BOM в сообщения, отправляемые в SysLogHandler
- Реализация структурированного логирования
- Настройка обработчиков с помощью
dictConfig() - Использование определенных стилей форматирования в приложении
- Настройка фильтров с помощью
dictConfig() - Настроенное форматирование исключения
- Призношение сообщений логирования
- Буферизация сообщений логирование и их условный вывод
- Форматирование времени с использованием UTC (GMT) через конфигурацию
- Использование контекстного менеджера для выборочного логирования
- Стартовый шаблон CLI-приложения
- Графический интерфейс Qt для ведения журнала
- HOWTO по регулярным выражениям
- HOWTO по программированию сокетов
- HOWTO по сортировке
- Unicode HOWTO
- HOWTO получение интернет-ресурсов с использованием пакета urllib
- Учебник по Argparse
- Введение в модуль ipaddress
- Инструкции по Клинике споров
- Цели Клинике споров
- Основные понятия и использование
- Преобразование Вашей первой функции
- Продвинутые темы
- Символические значения по умолчанию
- Переименование C-функций и переменных, созданных Клиникой споров
- Преобразование функций с помощью PyArg_UnpackTuple
- Опциональные группы
- Использование реальных конвертеров Клиники споров вместо «устаревших конвероторов»
- Py_buffer
- Продвинутые конвертеры
- Значения параметра по умолчанию
- Значение по умолчанию
NULL - Выражения, указанные в качестве значений по умолчанию
- Использование возвращающего конвертера
- Клонирование существующих функций
- Запрос кода Python
- Использование «самостоятельного конвертера»
- Запись пользовательского конвертера
- Запись пользовательского конвертера возврата
- METH_O и METH_NOARGS
- Функции tp_new и tp_init
- Изменение и перенаправление выходных данных клиники
- Уловка #ifdef
- Использование Клиники споров в файлах Python
- Инструментарий CPython с DTrace и SystemTap
- Перенос кода Python 2 в код Python 3
- Часто задаваемые вопросы по Python
- Общие часто задаваемые вопросы по Python
- Часто задаваемые вопросы по программированию
- Часто задаваемые вопросы по дизайну и истории
- Почему Python использует отступы для группировки инструкций?
- Почему я получаю странные результаты с помощью простых арифметических операций?
- Почему вычисления с плавающей запятой так неточны?
- Почему строки Python неизменяемы?
- Почему слово «self» должно использоваться явно в определениях и вызовах методов?
- Почему я не могу использовать присвоение в выражении?
- Почему Python использует методы для некоторой функциональности (например, list.index()), но функции для других (например, len(list))?
- Почему join() является методом строки, а не методом списка или кортежа?
- Насколько быстры исключения?
- Почему в Python нет оператора switch или case?
- Почему мы не можем эмулировать потоки в интерпретаторе вместо того, чтобы полагаться на специфичную для ОС реализацию потоков?
- Почему лямбда-выражения не могут содержать операторов?
- Можно ли скомпилировать Python в машинный код, C или какой-либо другой язык?
- Как Python управляет памятью?
- Почему CPython не использует более традиционную схему сбора мусора?
- Почему при выходе из Python не освобождается вся память?
- Почему существуют отдельные типы данных кортежа и списка?
- Как реализуются списки в CPython?
- Как словари реализованы в CPython?
- Почему словарные ключи должны быть неизменными?
- Почему list.sort() не возвращает отсортированный список?
- Как указать и обеспечить соблюдение спецификации интерфейса в Python?
- Почему нет goto?
- Почему необработанные строки (r-строки) не могут заканчиваться обратной косой чертой?
- Почему в Python нет оператора «with» для присвоения атрибутов?
- Почему требуется двоеточия для инструкций if/while/def/class?
- Почему Python разрешает запятые в конце списков и кортежей?
- Часто задаваемые вопросы о библиотеке и расширении
- Часто задаваемые вопросы по расширению/встраиванию
- Могу ли я создать свои функции на C?
- Можно ли создать свои функции на C++?
- Писать C сложно; есть ли альтернативы?
- Как выполнить произвольные Python инструкции из C?
- Как можно вычислить произвольное Python выражение из C?
- Как извлечь C значения из Python объекта?
- Как использовать Py_BuildValue() для создания кортежа произвольной длины?
- Как вызвать метод объекта из C?
- Как мне поймать вывод PyErr_Print() (или чего-либо, что выводится на stdout/stderr)?
- Как мне получить доступ к модулю, написанному на Python, из C?
- Как сделать интерфейс с C++ объектами из Python?
- Как выполнить отладку расширения?
- Я хочу скомпилировать модуль Python в своей системе Linux, но некоторые файлы отсутствуют. Почему?
- Как отличить «неполный ввод» от «недопустимого ввода»?
- Как найти неопределенные g++ символы __builtin_new или __pure_virtual?
- Могу ли я создать объектный класс с некоторыми методами, реализованными на C, а другие на Python (например, посредством наследования)?
- Часто задаваемые вопросы по Python в Windows
- Как запустить программу Python под Windows?
- Как сделать Python сценарии исполняемыми?
- Почему Python иногда так долго стартует?
- Как сделать исполняемый файл из Python сценария?
- Является ли файл
*.pydтем же, что и DLL? - Как встроить Python в приложение Windows?
- Как запретить редакторам вставлять табы в Python исходник?
- Как проверить нажатие клавиш без блокировки?
- Часто задаваемые вопросы по графическому пользовательскому интерфейсу
- «Почему Python установлен на моем компьютере?» Часто задаваемые вопросы
- Глоссарий
- Об этих документах
- Ошибки в документации
- Поддержать первод
