# Введение в импорт в Python

В Python можно импортировать не только стандартные модули, как, например, `re` (для работы с регулярками), но и создавать свои новые модули из пользовательских файлов.

Пусть у нас есть файл `lib.py`, который расположен в том же каталоге, что и наш рабочий файл `test.py`:

- lib.py
- test.py

Давайте создадим в нем функцию, которая будет выводить в консоль восклицательный знак:

`def func(): print('!')`

Теперь перейдем в файл `test.py` и импортируем в него эту функцию. В верхней строке файла прописываем команду `import`, после которой указываем имя нужного файла (модуля). Поскольку оба файла лежат в одном каталоге, после `import` достаточно указать только имя модуля без его расширения:

`import lib`

Затем вызовем импортированную функцию. Для этого после имени модуля через точку укажем имя функции `func`:

`lib.func()`

Результат выполнения кода:

`'!'`

При импорте модуля в рабочем файле становятся доступными не только функции, но и все его остальное содержимое, например, переменные.

После выполнения импорта модуля в рабочем каталоге автоматически появилась служебная папка `__pycache__`. Обратите внимание на то, что имена всех служебных файлов и папок в Python имеют двойное нижнее подчеркивание:

- /__pycache__/
- lib.py
- test.py

Бывают случаи, когда нужно импортировать модуль, находящийся в другой папке, например, по пути `/dir/lib.py`:

- /__pycache__/
- /dir/
  - lib.py
- test.py

Тогда имя папки и файла при импорте прописывается через точку и также записывается импортированная функция:

`import dir.lib dir.lib.func()`

Создайте файл `file.py`. В нем сделайте функцию, которая будет выводить в консоль число. Импортируйте данную функцию в свой файл с рабочим кодом.

В файле `test1.file1.py` создайте функцию, выводящую какое-либо сообщение. Импортируйте ее в свой рабочий файл.

← →
↑