Импорт и использование модулей
Почему модули — это суперсила Python 🦸
Модули в Python — как набор инструментов для супергероя. Вместо того чтобы писать всё с нуля, ты берёшь готовые решения и собираешь из них мощные программы. Вот как это работает!
Основы импорта: твой первый модуль
Импортировать модуль проще, чем заказать пиццу 🍕. Достаточно одной строки:
import math # Подключаем модуль для математических операций
print(math.sqrt(16)) # 4.0
Разберём что здесь происходит:
- import math — загружает весь модуль
- math.sqrt() — обращение к функции через точку
Делим и властвуем: частичный импорт
Зачем тащить весь модуль, если нужна одна функция? Используем from...import:
from random import randint # Берём только randint
print(randint(1, 10)) # Случайное число от 1 до 10
💡 Профи-совет: так код читается лучше и работает чуть быстрее!
Создаём псевдонимы: когда имена слишком длинные
Некоторые модули имеют «тяжёлые» имена — дадим им удобные сокращения:
import numpy as np # Классический пример
import pandas as pd # Стандарт в Data Science
data = np.array([1, 2, 3]) # Теперь пишем np вместо numpy
Твой собственный модуль — это просто!
Создай файл my_module.py с содержимым:
def greet(name):
return f"Привет, {name}! Ты сделал свой модуль! 🎉"
Теперь используем его в другом файле:
import my_module
print(my_module.greet("Данила")) # Персонализированное приветствие
Где искать крутые модули? 🌍
1. Стандартная библиотека Python — сотни модулей «из коробки»:
os— работа с файловой системойdatetime— магия дат и времениjson— работа с JSON-данными
2. PyPI (pip install) — более 400,000 пакетов!
pip install requests # Популярный HTTP-клиент
3. Канал Данилы Бежина — разборы интересных модулей:
Импорт с хитростями: name и main
Когда модуль запускается напрямую, __name__ становится "__main__". Это можно использовать:
# В файле my_script.py
if __name__ == "__main__":
print("Я запущен напрямую! ⚡")
else:
print("Меня импортировали как модуль 🐍")
Опасный импорт: что может пойти не так? ⚠️
- Циклический импорт — когда два модуля импортируют друг друга
- Конфликт имён — если импортированные функции перекрывают друг друга
- Медленная загрузка — тяжёлые модули могут замедлять старт программы
Решение: всегда структурируй код и используй виртуальные окружения!
Практика: собираем пазл из модулей 🧩
Давай создадим мини-проект с использованием нескольких модулей:
from datetime import datetime
from math import sqrt
import os
# Анализируем текущую директорию
files = os.listdir()
print(f"Файлов в папке: {len(files)}")
# Показываем текущее время
now = datetime.now()
print(f"Точное время: {now.hour}:{now.minute}")
# Вычисляем гипотенузу
print(f"Гипотенуза треугольника: {sqrt(3**2 + 4**2)}")
🔥 Вот это мощь! Всего несколько строк, а функционала — на целую программу.
Куда двигаться дальше? 🚀
- Изучи стандартную библиотеку Python — там есть модули для любых задач
- Попробуй установить внешний модуль через pip (например,
requests) - Создай свою библиотеку полезных функций и импортируй её в проекты
Помни: чем больше инструментов ты знаешь, тем круже твой код!