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

Встроенные библиотеки — это модули, которые поставляются вместе с Python и доступны сразу после установки, без pip install. В них собрано всё для самых частых задач: математика, работа с датами, JSON, файловая система, генерация случайных чисел и многое другое.

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

Встроенные библиотеки (стандартная библиотека) — это набор модулей, которые включены в дистрибутив Python и могут использоваться без дополнительной установки.

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

Давайте рассмотрим несколько наиболее полезных встроенных библиотек 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
import datetime

# Текущая дата и время
now = datetime.datetime.now()
print(f"Текущая дата и время: {now}")
Текущая дата и время: 2023-07-15 15:42:23.123456
# Создание конкретной даты
specific_date = datetime.date(2023, 12, 31)
print(f"Заданная дата: {specific_date}")
Заданная дата: 2023-12-31
# Разница между датами
today = datetime.date.today()
new_year = datetime.date(today.year + 1, 1, 1)
days_until_new_year = (new_year - today).days
print(f"Дней до Нового года: {days_until_new_year}")
Дней до Нового года: 170
# Форматирование даты
formatted_date = now.strftime("%d.%m.%Y %H:%M")
print(f"Отформатированная дата: {formatted_date}")
Отформатированная дата: 15.07.2023 15:42

os: взаимодействие с операционной системой

Модуль os предоставляет функции для взаимодействия с операционной системой:

Python 3.13
import os

# Получение текущей рабочей директории
print(f"Текущая директория: {os.getcwd()}")
Текущая директория: /Users/username/projects
# Список файлов и папок в директории
files = os.listdir('.')
print(f"Первые 3 файла в текущей директории: {files[:3]}")
Первые 3 файла в текущей директории: ['file1.txt', 'folder1', 'file2.py']
# Информация о системе
print(f"Имя операционной системы: {os.name}")
Имя операционной системы: posix
# Существует ли файл или директория
file_exists = os.path.exists('example.txt')
print(f"Файл example.txt существует: {file_exists}")
Файл example.txt существует: False

json: работа с форматом JSON

Модуль json предоставляет функции для работы с данными в формате JSON:

Python 3.13
import json

# Словарь Python
person = {
    "name": "Иван",
    "age": 30,
    "city": "Москва",
    "languages": ["Python", "JavaScript", "SQL"]
}

# Преобразование словаря в строку JSON
person_json = json.dumps(person, ensure_ascii=False, indent=4)
print("JSON строка:")
print(person_json)
JSON строка:
{
    "name": "Иван",
    "age": 30,
    "city": "Москва",
    "languages": [
        "Python",
        "JavaScript",
        "SQL"
    ]
}
# Преобразование строки JSON в объект Python
json_string = '{"name": "Мария", "age": 25, "city": "Санкт-Петербург"}'
person_dict = json.loads(json_string)
print(f"Имя: {person_dict['name']}, Возраст: {person_dict['age']}")
Имя: Мария, Возраст: 25

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

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

Python 3.13
from collections import Counter

text = "Программирование на Python это интересно и приятно"
character_count = Counter(text.lower())

print("Три самых частых символа:")
for char, count in character_count.most_common(3):
    print(f"'{char}': {count}")
Три самых частых символа:
' ': 5
'о': 5
'н': 4

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

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

Давайте проверим, насколько хорошо вы усвоили тему встроенных библиотек:

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


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