Тема 5. Библиотеки и модули (Libraries and Modules)¶
Тема посвящена организации повторно используемого кода и работе с экосистемами пакетов. Современные подходы к управлению зависимостями в Python (uv, pyproject.toml) и параллель в Go (go mod); базовые сведения про FFI.
Лекции¶
- Лекция 1. Модули, пакеты и управление зависимостями — модули и пакеты в Python (
__init__.py,__main__.py,if __name__ == "__main__"); пути поиска модулей;pipи современныйuv;pyproject.toml, lock-файлы, виртуальные окружения; в Go — пакеты, модули,go mod,go.sum, vendoring; FFI:ctypesиcgo.
Лабораторные работы¶
- Превратить набор скриптов в Python-пакет с
pyproject.toml, опубликовать пакет в test.pypi.org; установить его в чистом окружении черезuv. - Сделать Go-модуль с публичным API, опубликовать на GitHub, использовать в другом проекте через
go get. - Вызвать функцию из системной C-библиотеки через
ctypes(Python) и черезcgo(Go) — сравнить опыт.