9 января 2014 г.

Основы программирования модулей

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

Чтобы определить модуль, достаточно воспользоваться текстовым редактором, я использую Sublime Text, с его помощью ввести некоторый программный код на языке Python в текстовый файл и сохранить его с расширением «.py» – любой такой файл автоматически
будет считаться модулем Python. Все имена, которым будет выполнено присваивание на верхнем уровне модуля, станут его атрибутами (именами, ассоциированными с объектом модуля) и будут доступны для использования клиентами.

5 января 2014 г.

Операции импорта, углубляемся

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

Что ж с наступившим вас 2014 годом и с продолжением темы)

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

10 ноября 2013 г.

Выбор файла модуля

Как говорится - от теории к практике...

Выбор Файла Модуля
Расширения .py преднамеренно опущены в инструкции import. Интерпретатор Python выбирает первый найденный в пути поиска файл который соответствует указанному имени. В таком случае инструкция import b могла бы загрузить:

8 ноября 2013 г.

Создание путей поиска модуля, углубление

От теории к практике
так сказать углубляемся...

Пути поиска модулей, углубляемся
Из  всего  предыдущего поста следует,  что  переменная  окружения  PYTHONPATH 
и файлы .pth позволяют вам определять каталоги, где интерпретатор будет искать  файлы при  выполнении  операции  импортирования.  Способ  настройки переменных окружения и имена каталогов, где могут храниться файлы .pth, зависит от типа платформы. Например, в Windows можно воспользоваться ярлыком Система (System) в панели управления, чтобы записать в переменную PYTHONPATH список каталогов, разделенных точкой с запятой, как показано ниже:
c:\pycode\utilities;d:\pycode\package1

Или создать текстовый файл с именем C:\Python30\pydirs.pth, который выглядит примерно так:
c:\pycode\utilities
d:\pycode\package1
Аналогичным образом выполняются настройки и на других платформах.

Автоматическое изменение пути поиска
Это описание пути поиска модулей является верным, но достаточно общим – точная конфигурация  пути  поиска  зависит  от  типа  платформы  и  версии Python. В зависимости от используемой платформы в путь поиска модулей автоматически могут добавляться дополнительные каталоги.
Например, в путь поиска вслед за каталогами из переменной окружения PYTHONPATH и перед  каталогами  стандартной  библиотеки  интерпретатор  может добавлять текущий рабочий каталог – каталог, откуда была запущена программа. Когда программа запускается из командной строки, текущий рабочий каталог может не совпадать с домашним каталогом, где находится главный файл программы (то есть с каталогом, где находится программа). Так как от запуска к запуску программы текущий рабочий каталог может изменяться, при обычных условиях рабочий каталог не должен иметь значения для операций 
импорта.
Чтобы увидеть, как интерпретатор настраивает путь поиска модулей на вашей платформе, вы можете проверить содержимое переменной sys.path, обсуждение которой является темой следующего поста.

Список sys.path
Если вам потребуется узнать, как выглядит путь поиска на вашей машине, вы всегда сможете сделать это, просмотрев содержимое встроенного списка sys.path. Этот список строк с именами каталогов представляет собой путь поиска, используемый интерпретатором, – при выполнении операций импорта Python просматривает каждый каталог из списка, слева направо.
Действительно, sys.path – это путь поиска модулей. Интерпретатор создает его во время запуска программы, автоматически объединяя в список домашний каталог все каталоги, перечисленные в переменной окружения PYTHONPATH и в файлах .pth,  и  каталоги стандартной  библиотеки.  В  результате  получается  список строк с именами каталогов, которые просматриваются интерпретатором при импортировании новых файлов.
Представление языком Python этого списка имеет два основных полезных результата. 
Во-первых, он обеспечивает возможность проверить настройки пути поиска, которые вы выполнили, – если вы не видите свои настройки в этом списке каталогов, вам следует проверить, насколько правильно вы все проделали. Например, ниже показано, как выглядит путь поиска модулей у меня, в операционной системе Windows в Python 3.0, с моими     настройками переменной окружения PYTHONPATH, куда записан каталог C:\users, и с моим файлом C:\Python30\mypath.pth, содержащим путь к каталогу C:\users\mark. Пустая строка в начале списка соответствует текущему рабочему каталогу, а мои настройки объединены с системными (остальные пути в списке – это каталоги 
стандартной библиотеки):
>>> import sys
>>> sys.path
[‘’, ‘C:\\users’, ‘C:\\Windows\\system32\\python30.zip’, ‘c:\\Python30\\DLLs’,
‘c:\\Python30\\lib’, ‘c:\\Python30\\lib\\plat-win’, ‘c:\\Python30’,
‘C:\\Users\\Mark’, ‘c:\\Python30\\lib\\site-packages’]
Во-вторых, если вы понимаете, как формируется список, вы можете обеспечить сценариям возможность самостоятельно задавать свои пути поиска. Как будет показано далее в этой части книги, изменяя список sys.path, вы можете изменить путь поиска для всех последующих операций импорта. Однако эти изменения продолжают действовать, только пока выполняется сценарий переменная окружения PYTHONPATH и файлы .pth обеспечивают возможность более долговременного хранения измененного пути.

Разобравшись с настройкой путей для модулей, в следующем посте будет показано импортирование файлов модулей

Реклама на сайте

Доброго времени суток, читатели. Как вы заметили, на сайте появилась реклама, прошу воспринять это нормально и не  плеваться )

7 ноября 2013 г.

Продолжаем про импорт

Первое из разъяснений про импорт:
Это будет...

Поиск Пути Модулей

Как известно программистам, или же начинающим программистам, что важным этапом является поиск импортируемого модуля. Но для того чтоб этот поиск сработал, вам необходимо будет указать интерпретатору, где его искать. Для того, чтоб это сделать, вам необходимо знать, как это сделать. Именно для этого и создаю этот пост.

22 июня 2013 г.

Отвлечемся от программирования

Снова стоит вспомнить способы отвлечения от программирования. Ведь постоянно сидеть за компом и, что то создавать с помощью кода сможет натолкнуть вас на мысль о том, что все стоит бросать и заняться чем то другим. Сейчас я вам предлагаю вспомнить все, как было раньше, то есть как было в СССР, то с чем жилы ваши родители, и родственники.
Для этого я советую вам посетить сайт музей времен ссср и посмотреть на все, возможно даже вспомнить свое беззаботное детство.

13 июня 2013 г.

Как работает импорт

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

Импортирование и атрибуты

Теперь предположим, что модуль a.py использует функцию spam модуля b.py. Для этого он
мог бы содержать следующие инструкции:
import b
b.spam(‘gumby’)

В первой строке здесь располагается инструкция  import, дающая  файлу a.py доступ ко всему, что определено на верхнем уровне в файле b.py. В общих чертах это означает следующее: «загрузить файл b.py (если он еще не загружен) и предоставить доступ ко всем его атрибутам через имя модуля b». Инструкции import (и, как вы узнаете далее, from) загружают и запускают другие файлы на этапе времени выполнения.

Как организована программа

Как правило, программа на языке Python состоит из множества текстовых файлов, содержащих инструкции. Программа организована как один главный файл, к которому могут подключаться дополнительные файлы, известные как модули. Главный файл (или сценарий) определяет, как будет двигаться основной поток выполнения программы, – это тот файл, который необходимо запустить, чтобы начать работу приложения. Файлы модулей – это библиотеки инструментальных средств, где содержатся компоненты, используемые главным файлом (и,
возможно, где-то еще). Главный файл использует инструменты, определенные в файлах модулей, а модули используют инструменты, определенные в других модулях.

Обычно файлы  модулей ничего не делают, если попытаться запустить их отдельно – в них определяются инструментальные средства, используемые в других файлах. Чтобы получить доступ к определенным в модуле инструментам, именующимся атрибутами модуля (имена переменных, связанные с такими объектами, как  функции),  в  языке  Python  необходимо импортировать этот модуль. То есть мы импортируем модули и получаем доступ к их атрибутам, что дает нам возможность использовать их функциональные возможности.