24 мая 2013 г.

Python модули

Модули в Python-e - самый "мощный" инструмент, который вмещает в себя данные и программный код для многократного использования. Каждый  файл – это отдельный модуль, и модули могут импортировать другие модули для доступа к именам, которые в них определены. Обработка модулей выполняется двумя инструкциями и одной важной функцией:
import - Позволяет клиентам (импортерам) получать модуль целиком.
from - Позволяет клиентам получать определенные имена из модуля.
imp.reload - Обеспечивает  возможность  повторной  загрузки модуля без  остановки  интерпретатора Python.


В двух  словах, модули обеспечивают простой способ организации компонентов в систему автономных пакетов переменных, известных как пространства имен.Все имена, определяемые на  верхнем уровне модуля,  становятся атрибутами объекта импортируемого модуля. Как мы видели в предыдущих постах, операция импорта предоставляет доступ к именам в глобальной области видимости модуля. Таким образом, в процессе импортирования глобальная область
видимости  модуля  образует  пространство  имен  атрибутов  объекта  модуля. В конечном счете модули позволяют  связывать отдельные  файлы в  крупные программные системы.
Если говорить более определенно, с точки зрения теории модули играют  как минимум три роли:

Повторное использование программного кода
Как говорилось в главе 3, модули позволяют сохранять программный код в  виде  файлов.  В отличие  от программного кода,  который вводится  в  интерактивной оболочке интерпретатора Python и исчезает безвозвратно после выхода из оболочки, программный код в файлах модулей хранится постоянно – его можно повторно загружать и запускать столько раз, сколько потребуется.  Можно  добавить, что модули – это место,  где определяются
имена, известные как атрибуты, на которые могут ссылаться множество
внешних клиентов.

Разделение системы пространств имен
Модули в языке Python также являются самой высокоуровневой единицей организации программ. По существу, они – всего лишь пакеты имен. Модули позволяют изолировать имена в замкнутые пакеты, которые позволяют избежать конфликтов имен – вы никогда не увидите имя в другом файле, если не импортируете его. Фактически все, что находится в модуле, – выполняемый  программный  код  и  создаваемые  объекты  –  всегда  неявно включается в  модули.  Вследствие  этого  модули  являются  естественными инструментами группировки компонентов системы.

Реализация служб или данных для совместного пользования
С функциональной точки зрения модули могут также использоваться для реализации  компонентов,  используемых  системой,  вследствие  чего  требуется только одна копия такого компонента. Например,  если  необходим глобальный объект, который используется более чем одной функцией или модулем, можно написать его в виде модуля, который затем может импортироваться множеством клиентов.

Однако, чтобы понять действительную роль модулей в системе Python, нам необходимо отступить на шаг назад и исследовать общую структуру программы на языке Python.

Тут будет ссылка на следующий пост который очень связан...

Комментариев нет:

Отправить комментарий