12.12 Немного практики
Модули и пакеты
Файл = модуль; __name__ == "__main__"
Написать модуль now в котором определена константа DATE — время импорта этого модуля в секундах от 01-01-1970; при запуске он должен выводить это время
Каталог = пакет; __init__.py, __main__.py, подмодули / подпакеты
Переделать модуль now в пакет
Относительный импорт
Упражнение на относительный импорт
сделать пакет а с подпакетами a.b, a.c
в a.b написать функцию b1, возвращающую "this is b1"
в a.c выполнить относительный импорт b1 из a.b и написать функцию c1, вызывающую b1 и возвращающую полученный результат
в основной программе импортировать c1 из a.c и посмотреть, что возвращает c1()
Модифицировать модуль now так, чтобы:
при его импорте проверять наличие файла date в текущем каталоге, и если файл есть, то его содержимое считывать в переменную DATE, иначе DATE заполнять прежним способом
при выходе из интерпретатора (использовать atexit) сохранять значение переменной DATE в файл date
Использование стандартных модулей
TODO упражнение «почитать документацию ⇒ написать» для какого-нибудь странного стандартного модуля
Pip и Venv
как пользоваться pip; куда ставятся пакеты
В т. ч. --force / --upgrade
Установить cowsay, найти файл с текстовой коровой и изменить ей глаза o0; проверить что выводится модифицированная корова
зачем нужен и как пользоваться venv
TODO упражнение на venv
Д/З
Не будет, но готовьтесь к тому, что преподаватели выдумают какую-то пакость для зачёта