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

Представьте, что вы получили новый смартфон. Сразу после покупки на нём уже установлены календарь, калькулятор, камера и другие полезные приложения. Встроенные библиотеки Python работают похожим образом! 🧰

Встроенные библиотеки — это модули, которые поставляются вместе с Python и доступны сразу после его установки. Они предоставляют готовые решения для самых распространённых задач программирования.

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

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

Стандартная библиотека Python включает:

  • Модули для работы с системой
  • Инструменты для обработки данных
  • Утилиты для работы с сетью
  • Средства для создания пользовательских интерфейсов
  • И многое другое

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

Давайте рассмотрим несколько наиболее полезных встроенных библиотек Python.

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

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

Python 3.13
>>> import math

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

Python 3.13
>>> from collections import Counter, defaultdict, namedtuple

# 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 - словарь со значением по умолчанию >>> fruit_categories = defaultdict(list) >>> fruit_categories["желтые"].append("банан") >>> fruit_categories["красные"].append("яблоко") >>> fruit_categories["красные"].append("клубника") >>> print(f"Желтые фрукты: {fruit_categories['желтые']}") >>> print(f"Зеленые фрукты: {fruit_categories['зеленые']}") # Пустой список
Желтые фрукты: ['банан']
Зеленые фрукты: []
# namedtuple - именованные кортежи >>> Person = namedtuple('Person', ['name', 'age', 'job']) >>> alice = Person('Алиса', 30, 'инженер') >>> print(f"{alice.name}, {alice.age} лет, работает как {alice.job}")
Алиса, 30 лет, работает как инженер

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

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

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


Мы с вами на связи
Русский