Модули

Основы
Модуль - отдельный файл с разрешением .py, который можно подключать в другие питоньи программы и использовать. Обычно модуль содержит в себе классы и функции, чтобы в дальнейшем использовать их в других программах; писать вне функций крайне не приветствуется.
Итак, приступим: создадим файл module.py и напишем в него следующее.
print('Hello from module.py!')
Теперь создадим другой файл main.py в этой же папке, напишем:
import module
Это означает, что мы подключаемся модуль module в наш main.py. После запуска main.py выводится следующее:
Hello from module.py!
Но мы же не писали никаких принтов в коде, который запустили только что. В этом и суть подключаемых модулей, они сразу же выполняются при импорте в другие программы. Однако, обычно не требуется моментальное выполнение кода, именно поэтому как правило в модулях находятся классы и функциию.
Также, имеется возможность обращаться к переменным модуля, это часто используется при создании каких-то конфигов.
Дальше я написал комментарий с названием файла, с которым работаем, не путайтесь.
# config.py name = 'Jake'
Мы можем обращаться к содержимому импортированного модуля через точки. К тому же, для более короткой записи можно создать локальную переменную
# main.py import config cf = config print(cf.name)
На выход получаем 'Jake'.
Другие способы импорта
Создадим файл module.py для дальнейших примеров.
Всё, что сейчас будет показано, работает и для классов/функци и тд, использую переменные для простоты понимания.
# module.py num1 = 15 num2 = 30 num3 = 45
Можем использовать конструкцию from <Название модуля> import <Атрибут 1> [ as <Псевдоним 1> ], [<Атрибут 2> [ as <Псевдоним 2> ] ...]
from module import num1 as number print(number)
Output: 15.
Мы импоритруем из модуля переменную num1 и присваиваем сразу же значение новой локальной переменной number. То есть, мы взяли из module.py только одну переменную num1 и поместили значение в только что созданную number.
Звездочка означает, что мы импортируем всё. И теперь нам доступны все переменные из module.py
from module import * print(num1 + num2 + num3)
Output: 90.
Стандартные модули
В комплекте с python сразу же идет так называемаая библиотека стандратных модулей, а их в свою очередь 200+ штук. Весь список и документация с официального сайта http://docs.python.org/library/. Возьмем небольшой пример.
import sys print(sys.version)
Output: '3.6.7 (default, Oct 22 2018, 11:32:17) \n[GCC 8.2.0]'.
Модуль sys обеспечивает доступ к некоторым переменным и функциям, взаимодействующим с интерпретатором python.
Данный код просто выводит версию запущенного python.
Приоритет модулей
В порядке убывания этот список выглядит примерно так.
- домашняя директория;
- директории, указанные в переменной окружения PYTHONPATH;
- директории Standard library;
- пути прописанные в .pth файлах;
- пакеты сторонних разработчиков.