×
Traktatov.net » Введение в Python » Читать онлайн
Страница 18 из 26 Настройки
Команда from ... import в Python

Команда from ... import позволяет вам импортировать не весь модуль целиком, а только определенное его содержимое. Например:


>| # Импортируем из модуля math функцию sqrt

>| from math import sqrt

>| # Выводим результат выполнения функции sqrt.

>| # Обратите внимание, что нам больше незачем указывать имя модуля

>| print (sqrt(144))

>|

>| # Но мы уже не можем получить из модуля то, что не импортировали

>| print (pi) # Выдаст ошибку


Выражение from ... import не импортирует весь модуль, а только предоставляет доступ к конкретным объектам, которые мы указали.

Команда from ... import * в Python:

В Python так же возможно импортировать всё (переменные, функции, классы) за раз из модуля, для этого используется конструкция from ... import *. Например:


>| from math import *

>| # Теперь у нас есть доступ ко всем функция и переменным, определенным в модуле math

>|

>| print (sqrt(121))

>| print (pi)

>| print (e)


Однако это конструкцию следует использовать с осторожностью, поскольку при импортировании нескольких модулей можно запутаться в своем собственном коде.

Местонахождение модулей в Python:

Когда вы импортируете модуль, интерпретатор Python ищет этот модуль в следующих местах:

1. Директория, в которой находится файл, в котором вызывается команда импорта

2. Если модуль не найден, Python ищет в каждой директории, определенной в консольной переменной PYTHONPATH.

3. Если и там модуль не найден, Python проверяет путь заданный по умолчанию

*

Путь поиска модулей сохранен в системном модуле sys в переменной path. Переменная sys.path содержит все три вышеописанных места поиска модулей.



Получение списка всех модулей Python установленных на компьютере:

Для того, чтобы получить список всех модулей, установленных на вашем компьютере достаточно выполнить команду:


>| help("modules")


Через несколько секунд вы получите список всех доступных модулей.



Создание своего модуля в Python:

Чтобы создать свой модуль в 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() возвращает отсортированный список строк, содержащих все имена, определенные в модуле.


>| # на данный момент нам доступны лишь встроенные функции

>| dir()

>| # импортируем модуль math

>| import math

>| # теперь модуль math в списке доступных имен

>| dir()

>| # получим имена, определенные в модуле math

>| dir(math)



Архитектура программы на Python:

Код на Python может быть организован следующим образом:

* Первый уровень это обычные команды на Python.

* Команды на Python могут быть собраны в функции.

* Функции могут быть частью класса.

* Классы могут быть определены внутри модулей.

* Наконец, модули могут составляться в пакеты модулей.

Пакеты модулей в Python:

Отдельные файлы-модули с кодом на Python могут объединяться в