Стандартна бібліотека мови PythonСтандартна бібліотека Python — збірка модулів, об'єктів, підпрограм для вирішення близьких за тематикою задач засобами мови Python. Бібліотека містить вбудовані модулі (написані на мові C), які забезпечують доступ до функціональних можливостей системи, таких як файловий ввід / вивід, який інакше був би недоступним для програмістів Python, а також модулі, написані на Python, які забезпечують стандартизовані рішення для багатьох проблем, які виникають у щоденному програмуванні. СтруктураУ стандартну бібліотеку Python входять:
Вбудовані функціїПерелік вбудованих функцій стандартної бібліотеки мови Python[1] :
Вбудовані константиFalse, True, None, NotImplemented, Ellipsis, __debug__, константи додані модулем site (quit(), exit(), copyright, credits, license) Вбудовані типи данихPython має багато вбудованих типів даних. Ось деякі найважливіші[2]:
Вбудовані виключенняВсі вбудовані виключення в мові Python представлені у вигляді класів. Ієрархія вбудованих класів винятків[3]:
МодуліМодулі для обробки текстуМодулі зі стандартної бібліотеки надають широкий спектр операцій з маніпулювання рядками та обробки тексту:
print("Hello my friends".upper())
print("Hello my friends".lower())
print("Hello my friends".swapcase( ))
Модулі для роботи з різними типами данихМодулі цієї групи надають різноманітні спеціалізовані типи даних, такі як дата і час, масиви фіксованого типу, купи, черги, слабкі посилання, а також так звані абстрактні базові типи з модуля collections:
import datetime
datetime_object = datetime.datetime.now()
print(datetime_object)
from array import array #імпорт модуля
a = array.array("i", [10, 20, 30]) #змінній а привласнюється масив
for value in a: #прохід по значеннях масиве
print(value) #друк значень масиву
Числові та математичні модулі
import random
random.sample([1, 2, 3, 4, 5], 3)
Модулі для функціонального програмуванняМодулі надають функції та класи, які підтримують функціональний стиль програмування:
Модулі доступу до файлів і директорійМодулі стосуються дисків і каталогів. Наприклад, існують модулі для зчитування властивостей файлів, маніпулювання шляхами портативним способом і створення тимчасових файлів.
import tempfile
f = tempfile.TemporaryFile()
f.write("0"*100) # записується сто символів 0
f.seek(0) # встановлює вказівник на початок файлу
print len(f.read()) # читається до кінця файла і обчислюється довжина
Збереження данихМодулі підтримують зберігання даних Python у постійній формі на диску. Модулі pickle і marshal можуть перетворити безліч типів даних Python в потік байтів, а потім відтворити об'єкти з байтів.
Стиснення та архівація данихМодулі підтримують стиснення даних за допомогою алгоритмів zlib, gzip, bzip2 і lzma, а також створення архівів ZIP-та tar-форматів.
Формати файлівМодулі аналізують різні формати файлів, які не пов'язані з мовами розмітки і не пов'язані з електронною поштою.
Модулі для взаємодії з операційною системоюМодулі надають інтерфейси для функцій операційної системи, які доступні (майже) у всіх операційних системах, як файли та годинник.
import os
os.getcwd() #поточна робоча директорія
Сервіси періоду виконанняМодулі надають широкий спектр послуг, пов'язаних з інтерпретатором Python та його взаємодією з середовищем.
Модулі для програмних фреймворківМодулі є рамками, які значною мірою диктують структуру вашої програми. Нині описані тут модулі орієнтовані на написання інтерфейсів командного рядка.
Модулі для створення графічного інтерфейсу користувача з TkБібліотека забезпечує надійний і незалежний від платформи віконний інструментарій, доступний програмістам Python, що використовують tkinter-пакет, і його розширення, tkinter.tix і tkinter.ttk.
Криптографічні сервісиМодулі реалізують різні алгоритми криптографічного характеру: 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. Модулі для засобів розробкиМодулі допоможуть записати програмне забезпечення. Наприклад, модуль pydoc генерує документацію на основі вмісту модуля. doctest та unittest модулі містять фреймворки для написання модульних тестів, які автоматично здійснюють код і перевіряють, що здійснюється очікуваний вихід. Модулі для відладки та профілюванняЦі бібліотеки допомагають у розробці Python: відладчик дає змогу проходити код, аналізувати стекові кадри та встановлювати точки зупину тощо, а профайлери виконують код і дають детальний розклад часу виконання, дозволяючи визначити вузькі місця у програмах.
Модулі для публікації та установлення програмного забезпеченняМодулі допоможуть вам опублікувати та встановити програмне забезпечення Python.
Модулі для імпорту модулівМодулі надають нові способи імпортування інших модулів Python для налаштування процесу імпорту.
Примітки
|