Модули и пакеты


Модули и пакеты

Изучение модулей и пакетов в Python.

Модули и пакеты

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

Импорт модулей

Модуль — это файл с расширением .py, содержащий код. Чтобы использовать функции, классы или переменные из модуля, его нужно импортировать.

import math  # Импорт модуля math
print(math.sqrt(16))  # Использование функции sqrt из модуля math

Импорт отдельных функций

Если вам нужна только одна функция из модуля, можно импортировать её отдельно.

from math import sqrt  # Импорт только функции sqrt
print(sqrt(16))  # Использование функции sqrt

Создание собственных модулей

Вы можете создать свой модуль, сохранив код в файл с расширением .py. Например, создадим файл my_module.py:

# my_module.py
def greet(name):
    print(f"Привет, {name}!")

Теперь этот модуль можно импортировать в другой файл:

import my_module
my_module.greet("Иван")  # Выведет: Привет, Иван!

Пакеты

Пакет — это папка, содержащая модули и файл __init__.py. Пакеты позволяют группировать связанные модули вместе.

# Структура пакета
my_package/
    __init__.py
    module1.py
    module2.py

Чтобы импортировать модуль из пакета, используйте точечную нотацию:

from my_package import module1
module1.some_function()

Стандартные модули Python

Python поставляется с множеством стандартных модулей, таких как math, random, os и sys. Они предоставляют полезные функции для работы с числами, строками, файлами и операционной системой.

import random
print(random.randint(1, 100))  # Генерация случайного числа от 1 до 100

Заключение

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

Практика

🎯 Миссия 11: Создать собственный пакет
🔍 Контекст: Каждый уважающий себя джедай собирает свою библиотеку!

⚙️ Техзадание:
1. Создайте словарь shapes с модулями:
- "geometry"pi и circle_area)
- "constants"version)
2. Функция get_module() должна вызывать ModuleNotFoundError

get_module("geometry")["circle_area"](5) → 78.5
get_module("unknown") → Ошибка!

💡 Подсказка: raise ModuleNotFoundError

Попробуйте на практике:

Результат:


                

Вопросы для закрепления

Вопросы для проверки усвоенного материала доступны зарегистрированным пользователям.

К следующему уроку