Встроенные библиотеки Python

Посчитать факториал, узнать сегодняшнюю дату, перемешать список, прочитать JSON — для всего этого не нужно ничего устанавливать. Оно уже есть в Python из коробки: десятки готовых модулей доступны сразу после import, без pip install. Это и есть стандартная (встроенная) библиотека.

Что такое встроенные библиотеки?

Основные встроенные библиотеки

Пройдёмся по нескольким самым полезным встроенным библиотекам Python.

math: математические функции

Модуль math предоставляет доступ к математическим функциям, определенным в стандарте языка C:

Python 3.13
import math

# Константы
print(f"Число π: {math.pi}")
Число π: 3.141592653589793
print(f"Число e: {math.e}")
Число e: 2.718281828459045
# Тригонометрические функции
angle = math.pi / 4  # 45 градусов в радианах
print(f"Синус 45°: {math.sin(angle):.4f}")
Синус 45°: 0.7071
print(f"Косинус 45°: {math.cos(angle):.4f}")
Косинус 45°: 0.7071
# Другие функции
print(f"Факториал 5: {math.factorial(5)}")
Факториал 5: 120
print(f"Наибольший общий делитель 12 и 18: {math.gcd(12, 18)}")
Наибольший общий делитель 12 и 18: 6

random: генерация случайных чисел

Модуль random предоставляет функции для генерации случайных чисел и выбора случайных элементов:

Python 3.13
import random

# Генерация случайного целого числа в диапазоне
print(f"Случайное число от 1 до 10: {random.randint(1, 10)}")
Случайное число от 1 до 10: 7
# Случайное число с плавающей точкой от 0 до 1
print(f"Случайное число от 0 до 1: {random.random():.4f}")
Случайное число от 0 до 1: 0.3528
# Выбор случайного элемента из последовательности
fruits = ["яблоко", "банан", "апельсин", "груша"]
print(f"Случайный фрукт: {random.choice(fruits)}")
Случайный фрукт: апельсин
# Перемешивание последовательности
numbers = [1, 2, 3, 4, 5]
random.shuffle(numbers)
print(f"Перемешанные числа: {numbers}")
Перемешанные числа: [3, 1, 5, 2, 4]

datetime: даты и время

Модуль datetime умеет разбирать даты из строк, складывать их с интервалами и форматировать обратно. Этого набора хватает для типовых операций с датами:

Python 3.13
from datetime import datetime, timedelta

# разобрать строку в дату по шаблону "день.месяц.год"
d = datetime.strptime("31.12.2022", "%d.%m.%Y")

# прибавить интервал
new_d = d + timedelta(days=5)

# отформатировать дату обратно в строку
print(new_d.strftime("%d.%m.%Y"))
05.01.2023

Это лишь верхушка айсберга — у datetime куда больше возможностей, и им посвящена отдельная глава «Работа с датой и временем» дальше в модуле.

Ещё две большие темы стандартной библиотеки вынесены в свои главы, поэтому здесь только назовём модули:

Что нужноМодульГде разберём
Файлы и путиos, pathlib«Работа с файлами»
JSON и CSVjson, csv«Форматы JSON и CSV»

А вот collections в отдельную главу не попал, поэтому посмотрим его прямо сейчас.

collections: специализированные типы данных

Модуль collections предоставляет несколько удобных структур данных поверх базовых. Один из самых полезных — Counter для подсчёта элементов:

Python 3.13
from collections import Counter

orders = ["яблоко", "банан", "яблоко", "вишня", "яблоко", "банан"]
counts = Counter(orders)

# most_common() сортирует по убыванию количества
print(counts.most_common())
[('яблоко', 3), ('банан', 2), ('вишня', 1)]

В модуле также есть defaultdict, namedtuple, deque и другие — продвинутые штуки, которые пригодятся позже.

Проверка понимания

Какая библиотека лучше всего подходит для работы с датами в Python?


В следующем уроке посмотрим сторонние библиотеки — те, что устанавливаются через pip install и расширяют возможности Python за пределы стандартной поставки.