Стандартна бібліотека Python — збірка модулів, об'єктів, підпрограм для вирішення близьких за тематикою задач засобами мови Python. Бібліотека містить вбудовані модулі (написані на мові C), які забезпечують доступ до функціональних можливостей системи, таких як файловий ввід / вивід, який інакше був би недоступним для програмістів Python, а також модулі, написані на Python, які забезпечують стандартизовані рішення для багатьох проблем, які виникають у щоденному програмуванні.

Структура У стандартну бібліотеку Python входять:

Вбудовані функції Вбудовані константи Вбудовані типи даних Вбудовані виключення Модулі

Вбудовані функції Перелік вбудованих функцій стандартної бібліотеки мови Python : abs()delattr()hash()memoryview()set()all()dict()help()min()setattr()any()dir()hex()next()slice()ascii()divmod()id()object()sorted()bin()enumerate()input()oct()staticmethod()bool()eval()int()open()str()breakpoint()exec()isinstance()ord()sum()bytearray()filter()issubclass()pow()super()bytes()float()iter()print()tuple()callable()format()len()property()type()chr()frozenset()list()range()vars()classmethod()getattr()locals()repr()zip()compile()globals()map()reversed()__import__()complex()hasattr()max()round()

Вбудовані константи False, True, None, NotImplemented, Ellipsis, __debug__, константи додані модулем site (quit(), exit(), copyright, credits, license)

Вбудовані типи даних

Python має багато вбудованих типів даних. Ось деякі найважливіші:

None (class NoneType) Числа цілочисленні цілі (class int) булеві (class bool) дійсні (class float) комплексні (class complex). Послідовності незмінні рядки (class str) кортежі (class tuple) байтові рядки (class bytes) змінні списки (class list) байтові масиви (class bytearray) множини набір (class  set) незмінний набір (class frozenset) відображення словники (class dict) типи, що викликаються функції методи класи Модулі

Вбудовані виключення Всі вбудовані виключення в мові Python представлені у вигляді класів. Ієрархія вбудованих класів винятків:

BaseException GeneratorExit Keyboardinterrupt SystemExit Exception Stopiteration Warning (BytesWarning, ResourceWarning, DeprecationWarning, FutureWarning, ImportWarning, PendingDeprecationWarning, RuntimeWarning) SyntaxWarning (UnicodeWarning, UserWarning) Ar i trЛlet icError (FloatingPointError, OverflowError, ZeroDivisionError) AssertionError AttributeError BufferError EnvironmentError IOError OSError (WindowsError) EOFError ImportError LookupError (IndexError, KeyError) MemoryError NameError (UnboundLocalError) ReferenceError RuntimeError (NotimplementedError) SyntaxError (IndentationError, TabError) SystemError TypeError ValueError UnicodeError (UnicodeDecodeError, UnicodeEncodeError, UnicodeTranslateError)

Модулі

Модулі для обробки тексту

Модулі зі стандартної бібліотеки надають широкий спектр операцій з маніпулювання рядками та обробки тексту:

string — загальні операції над рядками (перетворення, форматування тощо) print("Hello my friends".upper()) print("Hello my friends".lower()) print("Hello my friends".swapcase( ))

re — забезпечує операції зіставлення регулярних виразів (робота з символами '|', '/'або '(' та ін. difflib — надає класи та функції для порівняння послідовностей та файлів unicodedata — забезпечує доступ до бази даних символів Unicode (UCD) textwrap — надає засоби для упакування, заповнення, позиціонування одного або двох текстових рядків

Модулі для роботи з різними типами даних Модулі цієї групи надають різноманітні спеціалізовані типи даних, такі як дата і час, масиви фіксованого типу, купи, черги, слабкі посилання, а також так звані абстрактні базові типи з модуля collections:

datetime — надає класи для обробки часу і дати різними способами, підтримується і стандартний спосіб представлення часу, проте більший акцент зроблено на простоту маніпулювання датою, часом і їх частинами import datetime datetime_object = datetime.datetime.now() print(datetime_object)

calendar — дозволяє надрукувати собі календар, а також містить деякі інші корисні функції для роботи з календарями collections — надає спеціалізовані типи даних, на основі словників, кортежів, множин, списків. array — визначає масиви в Python from array import array #імпорт модуля a = array.array("i", [10, 20, 30]) #змінній а привласнюється масив for value in a: #прохід по значеннях масиве print(value) #друк значень масиву

copy — потрібен для повного копіювання об'єкта

Числові та математичні модулі

numbers — база числових абстрактних класів math — математичні функції cmath — математичні функції для комплексних чисел decimal — десяткові числа з фіксованою крапкою і числа з плаваючою крапкою statistics — функції математичної статистики fractions — раціональні числа random — генерація випадкових чисел import random random.sample([1, 2, 3, 4, 5], 3)

Модулі для функціонального програмування Модулі надають функції та класи, які підтримують функціональний стиль програмування:

itertools — створення інтегрованих функцій для ефективного циклу functools –  функції високого порядку та  операції для виклику об'єктів operator –  стандартні операції з функціями

Модулі доступу до файлів і директорій Модулі стосуються дисків і каталогів. Наприклад, існують модулі для зчитування властивостей файлів, маніпулювання шляхами портативним способом і створення тимчасових файлів.

pathlib — об'єктно-орієнтовані шляхи файлової системи os.path — загальні маніпуляції fileinput — перебирати рядки з декількох вхідних потоків stat — інтерпретація результатів stat () filecmp — порівняння файлів і каталогів tempfile — створення тимчасових файлів і каталогів import tempfile f = tempfile.TemporaryFile() f.write("0"*100) # записується сто символів 0 f.seek(0) # встановлює вказівник на початок файлу print len(f.read()) # читається до кінця файла і обчислюється довжина

glob — розширення шаблону шляху стилю Unix fnmatch — відповідність зразків назв файлів Unix linecache — випадковий доступ до рядків тексту shutil — файлові операції високого рівня macpath — функції маніпуляції шляху Mac OS 9

Збереження даних Модулі підтримують зберігання даних Python у постійній формі на диску. Модулі pickle і marshal можуть перетворити безліч типів даних Python в потік байтів, а потім відтворити об'єкти з байтів.

pickle — серіалізація об'єкта Python copyreg — реєстрація функцій підтримки консервації shelve — збереження об'єкта Python marshal — внутрішня серіалізація об'єктів Python dbm — інтерфейси для «баз даних» Unix sqlite3 — інтерфейс DB-API 2.0 для баз даних SQLite

Стиснення та архівація даних Модулі підтримують стиснення даних за допомогою алгоритмів zlib, gzip, bzip2 і lzma, а також створення архівів ZIP-та tar-форматів.

zlib — стиснення, сумісне з gzip gzip — підтримка файлів gzip bz2 — підтримка стиснення bzip2 lzma — стиснення з використанням алгоритму LZMA zipfile — робота з архівами ZIP arfile — читання та запис файлів архіву tar

Формати файлів                     Модулі аналізують різні формати файлів, які не пов'язані з мовами розмітки і не пов'язані з електронною поштою.

csv — читання та запис файлів CSV configparser — парсер файлів конфігурації etrc — обробка файлів netrc xdrlib — кодувати та декодувати дані XDR plistlib — створення і розбір файлів Mac OS X.plist

Модулі для взаємодії з операційною системою Модулі  надають інтерфейси для функцій операційної системи, які доступні (майже) у всіх операційних системах, як файли та годинник.

os — різні інтерфейси операційної системи import os os.getcwd() #поточна робоча директорія

io — основні інструменти для роботи з потоками time — доступ до опцій часу argparse — парсер  для параметрів командного рядка, аргументів і під-команд getopt — синтаксичний  аналізатор стилю C для параметрів командного рядка logging — засоби  реєстрації для Python getpass — введення  портативного пароля curses — керування  терміналами для відображення символьних комірок platform — доступ  до даних, що визначають базову платформу errno — стандартні  символи системи errno ctypes — бібліотека  іноземних функцій для Python

Сервіси періоду виконання Модулі надають широкий спектр послуг, пов'язаних з інтерпретатором Python та його взаємодією з середовищем.

sys — специфічні для системи параметри та функції sysconfig — надає доступ до інформації про конфігурацію Python builtins — вбудовані об'єкти __main__ — середовище сценаріїв верхнього рівня dataclasses — класи даних abc — абстрактні базові класи traceback — друк або вилучення відстеження стека та ін.

Модулі для програмних фреймворків Модулі є рамками, які значною мірою диктують структуру вашої програми. Нині описані тут модулі орієнтовані на написання інтерфейсів командного рядка.

turtle — «черепашача» графіка cmd — підтримка лінійно-орієнтованих командних інтерпретаторів shlex — простий лексичний аналіз

Модулі для створення графічного інтерфейсу користувача з Tk Бібліотека забезпечує надійний і незалежний від платформи віконний інструментарій, доступний програмістам Python, що використовують tkinter-пакет, і його розширення, tkinter.tix і tkinter.ttk.

tkinter — інтерфейс Python до Tcl / Tk tkinter.ttk — Tk тематичні віджети tkinter.tix — віджети розширення для Tk tkinter.scrolledtext — прокручується відмет для скролингу тексту

Криптографічні сервіси Модулі реалізують різні алгоритми криптографічного характеру: hashlib — безпечний хеш і дайджести повідомлень; hmac — для перевірки автентичності повідомлень.

Модулі для паралельного програмування (н-д, threading, multiprocessing, subprocess, sched, queue та ін.) Забезпечують підтримку одночасного виконання коду. Відповідний вибір засобу буде залежати від виконання завдання (пов'язано з процесором та пов'язаним з ним потоком) і бажаним стилем розробки (керована подіями багатозадачність та превентивна багатозадачність).

Модулі для мережевого та міжпроцесового спілкування Модулі забезпечують механізми комунікації між мережами та взаємодіями між процесами: asyncio, socket, ssl, select, selectors, asyncore, asynchat, ignal, mmap.

Модулі для обробки даних Інтернету Модулі, які підтримують обробку форматів даних, які зазвичай використовуються в Інтернеті (електронна пошта, медіа файли тощо): email, json, mailcap, mailbox, mimetypes, base64, binhex та ін.

Модулі обробки структурованої розмітки Python підтримує різноманітні модулі для роботи з різними формами розмітки структурованих даних. Це включає в себе модулі для роботи зі стандартною мовою розмітки (SGML) і мовою розмітки гіпертексту (HTML), а також декілька інтерфейсів для роботи з розширюваною мовою розмітки (XML).

Модулі для підтримки Інтернет-протоколів Модулі використовують Інтернет-протоколи та підтримку відповідних технологій. Всі вони реалізовані в Python. Більшість цих модулів вимагає наявності системно залежного модуля socket, який зараз підтримується на більшості популярних платформ, наприклад модулі обробки URL-адрес — urllib, модулі підтримки клієнтів різних Інтернет-протоколів — ftplib, poplib, imaplib, smtplib, telnetlib тощо.

Модулі для мультимедійних послуг Модулі реалізують різні алгоритми або інтерфейси, які в основному корисні для мультимедійних програм. Наприклад, модуль для читання і запис WAV-файлів — wave, перетворення кольорів між системами — colorsys, визначення типу зображення — imghdr тощо.

Модулі для інтернаціоналізації Модулі допоможуть написати програмне забезпечення, яке не залежить від мови та локалі, надаючи механізми для вибору мови, яка буде використовуватися в програмних повідомленнях, або шляхом адаптації виводу відповідності до місцевих умов. Наприклад, gettext та locale.

Модулі для засобів розробки