>>> dir2.mod
NameError: name ‘dir2’ is not defined
>>> mod.z
NameError: name ‘mod’ is not defined
Поэтому для импортирования пакетов часто более удобно использовать инструкцию from, чтобы избежать необходимости ввода полного имени при каждом обращении к нему. Еще более важно следующее: если вы когда-нибудь произведете реструктуризацию дерева каталогов, то в случае использования инструкции from достаточно будет обновить путь только в самой этой инструкции, тогда как в случае использования инструкции import придется обновлять все обращения к именам в изменившемся пакете. Расширение import as, обсуждаемое в следующей главе, поможет вам определить сокращенные синонимы
для полных путей:
% python
>>> from dir1.dir2 import mod # Описание пути находится только в этом месте
dir1 init
dir2 init
in mod.py
>>> mod.z # Указывать полный путь не требуется
3
>>> from dir1.dir2.mod import z
>>> z
3
>>> import dir1.dir2.mod as mod # Использование короткого синонима
>>> mod.z
3
Автор: Няшный Человек
Дата публикации: 2016-04-07T21:54:00.000+03:00