Встроенные библиотеки Python
Встроенные библиотеки — это модули, которые поставляются вместе с Python и доступны сразу после установки, без pip install. В них собрано всё для самых частых задач: математика, работа с датами, JSON, файловая система, генерация случайных чисел и многое другое.
Что такое встроенные библиотеки?
Встроенные библиотеки (стандартная библиотека) — это набор модулей, которые включены в дистрибутив Python и могут использоваться без дополнительной установки.
Основные встроенные библиотеки
Давайте рассмотрим несколько наиболее полезных встроенных библиотек Python.
math: математические функции
Модуль math предоставляет доступ к математическим функциям, определенным в стандарте языка C:
Python 3.13import math # Константы print(f"Число π: {math.pi}")Число π: 3.141592653589793print(f"Число e: {math.e}")Число e: 2.718281828459045# Тригонометрические функции angle = math.pi / 4 # 45 градусов в радианах print(f"Синус 45°: {math.sin(angle):.4f}")Синус 45°: 0.7071print(f"Косинус 45°: {math.cos(angle):.4f}")Косинус 45°: 0.7071# Другие функции print(f"Факториал 5: {math.factorial(5)}")Факториал 5: 120print(f"Наибольший общий делитель 12 и 18: {math.gcd(12, 18)}")Наибольший общий делитель 12 и 18: 6
random: генерация случайных чисел
Модуль random предоставляет функции для генерации случайных чисел и выбора случайных элементов:
Python 3.13import 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.13import 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.13import 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.13import 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.13from 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 за пределы стандартной поставки.
