ВНИМАНИЕ! Конкурс по программированию!
Проект Programmers.kz и школа hotPen3D2D предлагает Вам курсы по веб-дизайну, веб-программированию и компьютерной графике. Подробности здесь.
- Просмотров: 892
- Автор: КазКиберГетик
3.2. Импортирование модулей инструкцией from module import
Категория: Программирование » Python » Уроки Python
3.2. Импортирование модулей инструкцией from module import
В языке Python есть два способа импортировать модули. Оба из них полезны, и вы должны знать, когда каждый из них лучше использовать. С одним способом, import module, вы уже ознакомились в главе 1. Второй способ делает примерно то же самое, но в его работе есть несколько важных отличий.
Синтакис очень похож на уже знакомый вам ситаксис import module, но есть одно важное отличие: атрибуты модуля types импортируются непосредственно в локальное пространство имен и, поэтому, становятся доступными напрямую, без указания имени модуля.
| from module import in Python is like use module in Perl; import module in Python is like require module in Perl. | |
| from module import in Python is like import module.* in Java; import module in Python is like import module in Java. | |
Пример 3.4. import module vs. from module import
>>> import types
>>> types.FunctionType
<type 'function'>
>>> FunctionType
Traceback (innermost last):
File "<interactive input>", line 1, in ?
NameError: There is no variable named 'FunctionType'
>>> from types import FunctionType
>>> FunctionType
<type 'function'>
Когда следует использовать from module import?
- Если вы собираетесь многократно использовать атрибуты модуля и не хотите снова и снова набирать имя модуля, используйте from module import.
- Если вы хотите импортировать только отдельные атрибуты, используйте from module import.
- Если модуль содержит атрибуты с такими же именами, как переменные вашего модуля, во избежание конфликта имен вам придется использовать import module.
Во всех остальных случаях — это дело вкуса. Вы увидите код на языке Python с использованием обоих вариантов.
Дополнительная литература
- В eff-bot вы найдете более подробное сравнение import module и from module import.
- Python Tutorial описывает дополнительные способы импортирования, в частности from module import *.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.




