← До списку лабораторних по Python
Повний опис / сценарій лабораторної:
Meta: навчитися структурувати код як пакет з модулями і розуміти як працюють імпорти.
Krok 1. Перейти у каталог src попереднього проєкту.
Komanda: cd ~/python_lab1/src
Krok 2. Додати підпакет services.
Komandi: mkdir -p app/services; touch app/services/__init__.py; touch app/services/math_service.py
Krok 3. Записати просту функцію у math_service.py.
Komanda: echo "def add(a, b):" > app/services/math_service.py; echo " return a + b" >> app/services/math_service.py
Krok 4. Оновити main.py щоб використовувати новий модуль.
Komanda: printf "from app.services.math_service import add
def main():
result = add(2, 3)
print(f"Result {result}")
" > app/main.py
Poyasnennya: використовується абсолютний імпорт від кореня пакета.
Krok 5. Налаштувати PYTHONPATH якщо ще не налаштовано.
Komanda: export PYTHONPATH=$(pwd)
Krok 6. Запустити main.
Komanda: python -c "from app.main import main; main()"
Poyasnennya: перевір що імпорти працюють коректно.
Krok 7. Додати новий модуль util.py з простою функцією.
Komanda: echo "def debug(msg):" > app/util.py; echo " print(f"[DEBUG] {msg}")" >> app/util.py
Krok 8. Використати відносний імпорт всередині пакета.
Komanda: printf "from .util import debug
from .services.math_service import add
def main():
debug("start")
print(add(5, 7))
" > app/main.py
Poyasnennya: крапка означає відносний імпорт у межах пакета.
Krok 9. Перезапустити main і переконатися що код працює.
Komanda: python -c "from app.main import main; main()"
Krok 10. Mini zvit.
Zavdannya: опиши коли варто використовувати відносні імпорти а коли абсолютні.