Learnly
Python с нуля/Глава 7/Урок 3

Готовые модули: не изобретай велосипед

Готовые модули: не изобретай велосипед

Python поставляется с огромной стандартной библиотекой, сотни готовых модулей для самых разных задач. Плюс тысячи сторонних библиотек от сообщества.

Что такое модуль

Модуль, это файл с готовым Python-кодом. Кто-то уже написал функции для работы с датами, файлами, математикой, сетью. Ты просто подключаешь модуль и используешь.

Как подключить модуль

import math

print(math.pi)         # 3.141592653589793
print(math.sqrt(16))   # 4.0
print(math.ceil(3.2))  # 4   (округление вверх)
print(math.floor(3.9)) # 3   (округление вниз)

Или импортировать конкретные функции:

from math import sqrt, pi

print(sqrt(25))   # 5.0
print(pi)         # 3.14159...

Полезные модули стандартной библиотеки

random, случайные числа

import random

print(random.randint(1, 10))           # случайное число 1-10
print(random.choice(["да", "нет"]))   # случайный элемент из списка

tasks = ["задача 1", "задача 2", "задача 3"]
random.shuffle(tasks)   # перемешать список

datetime, дата и время

from datetime import datetime

now = datetime.now()
print(now)                          # 2024-01-15 14:30:00
print(now.strftime("%d.%m.%Y"))     # 15.01.2024
print(now.year, now.month, now.day) # 2024 1 15

os, работа с файловой системой

import os

print(os.getcwd())          # текущая директория
files = os.listdir(".")     # список файлов в папке
os.makedirs("reports", exist_ok=True)  # создать папку

Сторонние библиотеки: pip

Стандартной библиотеки не всегда достаточно. Для установки дополнительных пакетов используется pip:

pip install requests      # HTTP запросы
pip install pandas        # анализ данных
pip install openpyxl      # работа с Excel

requests, работа с сайтами и API

import requests

response = requests.get("https://api.github.com/users/python")
data = response.json()
print(data["name"])          # Python
print(data["public_repos"])  # количество репозиториев

Несколько строк кода, и ты получаешь данные из любого API в интернете.

Принцип: ищи готовое решение

Прежде чем писать что-то с нуля, поищи есть ли уже готовый модуль. 99% базовых задач уже решены:

  • Работа с CSV → модуль csv
  • Работа с JSON → модуль json
  • Регулярные выражения → модуль re
  • Работа с ZIP-архивами → модуль zipfile

💡 Главная мысль: Python силён не только языком, но и экосистемой. Прежде чем писать функцию, проверь есть ли готовый модуль. Скорее всего есть.