|
| print (sqrt(121))
| print (pi)
| print (e)
Однако это конструкцию следует использовать с осторожностью, поскольку при импортировании нескольких модулей можно запутаться в своем собственном коде.
Когда вы импортируете модуль, интерпретатор Python ищет этот модуль в следующих местах:
1. Директория, в которой находится файл, в котором вызывается команда импорта
2. Если модуль не найден, Python ищет в каждой директории, определенной в консольной переменной PYTHONPATH.
3. Если и там модуль не найден, Python проверяет путь заданный по умолчанию
*
Путь поиска модулей сохранен в системном модуле sys в переменной path. Переменная sys.path содержит все три вышеописанных места поиска модулей.
Для того, чтобы получить список всех модулей, установленных на вашем компьютере достаточно выполнить команду:
| help("modules")
Через несколько секунд вы получите список всех доступных модулей.
Чтобы создать свой модуль в Python достаточно сохранить ваш скрипт с расширением .py Теперь он доступен в любом другом файле. Например, создадим два файла: module_1.py и module_2.py и сохраним их в одной директории. В первом запишем:
| def hello():
| print ("Hello from module_1")
А во втором вызовем эту функцию:
| from module_1 import hello
|
| hello()
Выполнив код второго файла получим:
Hello from module_1
Встроенная функция dir() возвращает отсортированный список строк, содержащих все имена, определенные в модуле.
| # на данный момент нам доступны лишь встроенные функции
| dir()
| # импортируем модуль math
| import math
| # теперь модуль math в списке доступных имен
| dir()
| # получим имена, определенные в модуле math
| dir(math)
Код на Python может быть организован следующим образом:
* Первый уровень это обычные команды на Python.
* Команды на Python могут быть собраны в функции.
* Функции могут быть частью класса.
* Классы могут быть определены внутри модулей.
* Наконец, модули могут составляться в пакеты модулей.
Отдельные файлы-модули с кодом на Python могут объединяться в пакеты модулей. Пакет это директория (папка), содержащая несколько отдельных файлов-скриптов.
Например, имеем следующую структуру:
|_ my_file.py
|_ my_package
|_ __init__.py
|_ inside_file.py
В файле inside_file.py определена некая функция foo. Тогда чтобы получить доступ к функции foo, в файле my_file следует выполнить следующий код:
from my_package.inside_file import foo
Так же обратите внимание на наличие внутри директории my_package файла __init__.py. Это может быть пустой файл, который сообщает Python, что данная директория является пакетом модулей. В Python 3.3 и выше включать файл __init__.py в пакет модулей стало необязательно, однако, рекомендуется делать это ради поддержки обратной совместимости.
Работа с файлами в Python
Published: 21 May 2015
До теперь мы работали только с объектами, сохраненными в оперативной памяти компьютера. То есть после завершения работы программы все наши действия удалялись. Сегодня мы научимся работать с файлами в Python, то есть сохранять состояние программы в файле на жестком диске.
Перед тем как прочесть и записать что-либо в файл, его следует открыть. Чтобы открыть файл в Python используется встроенная функция open(). При вызове, эта функция создает объект типа файл, с которым в дальнейшем можно работать.
Синтаксис функции open() в Python.
my_file = open(имя_файла [, режим_доступа][, буферизация])
При этом:
имя_файла: строка, содержащая имя файла с расширением. Например, "my_file.txt".
режим_доступа: строка, которой мы указываем для чего открывается файл: для чтения, записи, добавления информации, и т.д. Например, "w". По умолчанию файл открывается для чтения - "r".
буферизация: Челое число. Если значение аргумента указано 0 - файл открывается без буферизации, 1 с построчной буферизацией, больше одного процесс буферизации выполняется с указанным размером буфера. Отрицательное число - разер буфера будет равен системному.