В этой статье по основам Python мы рассмотрим оператор import
для импорта необходимых нам модулей в программе. Модули - это скрипты на Python, которые содержат вспомогательные функции, типы, классы и т.д.
Есть большое количество модулей, которые мы регулярно используем в программах, например: sys, os, collections.
Если мы хотим импортировать встроенные модули в Python или сторонний модуль, установленный с помощью менеджера пакетов, такого как PIP, мы можем импортировать их в нашу программу и очень легко использовать.
Например:
import time
import os
Python ищет модули и пакеты в свойстве sys.path. Этот путь всегда содержит текущий каталог, из которого запускается скрипт, поэтому любой модуль в текущем каталоге можно импортировать как есть.
Импорт Python чувствителен к регистру, поэтому import os и import OS ищут разные модули для импорта. Python сначала ищет модуль во встроенных модулях. Если он не найден, он ищет модули в текущем каталоге. Поэтому, если у нас есть файл math.py в том же каталоге, что и наш основной скрипт, он будет загружен при вызове импорта математики, если модуль «math» отсутствует во встроенных модулях. Вы можете получить список встроенных модулей, используя sys.builtin_module_names
. На изображении ниже показаны встроенные модули:

Классы и функции импорта из модуля
Мы также можем импортировать определенные классы из модуля.
Таким образом, мы можем импортировать определенные части модуля и использовать их. Это также помогает в написании свободного кода. Мы можем добиться этого, используя ключевое слово from
с оператором импорта.
Например:
from collections import namedtuple
from os import path
Пользовательский модуль импорта
Когда мы создаем скрипт, мы можем импортировать его в другой скрипт Python, используя его имя. Допустим, у нас есть следующая структура каталогов с несколькими скриптами.
Например я создам папку services, а в ней файл utils.py, где создам функцию test_app с возвращение переданного аргумента:

services/utils.py
def test_app(data):
return data
Пример импорта:
from services.utils import test_app
print(test_app('test'))
Вывод:
test
Импорт as
Мы можем определить собственное имя для импортированного модуля, используя оператор import as.
from services.utils import test_app as test
print(test('test'))
Результат будет таким же, как и в предыдущей программе
Класс импорта из другого файла
Пример:
services/test_classes.py
class Person:
name = ""
def __init__(self, personName):
self.name = personName
def showName(self):
print(self.name)
class Student(Person):
id = 0
def __init__(self, studentName, studentId):
Person.__init__(self, studentName)
self.id = studentId
def getId(self):
return self.id
И пример импорта такого кода:
from services.test_classes import Person
from services.test_classes import Student
person = Person
('Vladislav')
student = Student
('Julia', 1)
print(student.showName(), person.showName())
Можно тоже самое с as
from services.test_classes import Person as P
from services.test_classes import Student as S
person = P('Vladislav')
student = S('Julia', 1)
print(student.showName(), person.showName())
Результат:
Julia
Vladislav
Оператор импорта Python позволяет нам импортировать модули, определенные классы и функции из модулей. Он очень прост в использовании, и поскольку большую часть времени мы работаем со встроенными модулями или модулями, установленными с помощью PIP, нет необходимости писать логику для загрузки скриптов из другого каталога.