Модули и пакеты
Изучение модулей и пакетов в 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
Попробуйте на практике:
Результат:
Вопросы для закрепления
Вопросы для проверки усвоенного материала доступны зарегистрированным пользователям.