The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Python" / Оглавление документа

3.2. Импортирование модулей инструкцией from module import

В языке Python есть два способа импортировать модули. Оба из них полезны, и вы должны знать, когда каждый из них лучше использовать. С одним способом, import module, вы уже ознакомились в главе 1. Второй способ делает примерно то же самое, но в его работе есть несколько важных отличий.

Пример 3.3. Синтаксис from module import


from UserDict import UserDict

Синтакис очень похож на уже знакомый вам ситаксис 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             1
<type 'function'>
>>> FunctionType                   2
Traceback (innermost last):
  File "<interactive input>", line 1, in ?
NameError: There is no variable named 'FunctionType'
>>> from types import FunctionType 3
>>> FunctionType                   4
<type 'function'>
1 Модуль types содержит объекты-типы для объектов всех встроенных типов языка Python. Обратите внимание, что имя объекта, FunctionType, должно быть указано с использованием имени модуля, types.
2 Имя FunctionType не определено в этом пространстве имен, оно доступно только в контексте types.
3 Используя такой синтаксис вы импортируете FunctionType из модуля types непосредственно в локальное пространство имен.
4 Теперь объект FunctionType доступен напрямую, без указания имени модуля.

Когда следует использовать from module import?

Во всех остальных случаях — это дело вкуса. Вы увидите код на языке Python с использованием обоих вариантов.

Дополнительная литература




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру