Импорт модулей в Python
avatar
7 | (offline)
❤️‍🔥Notehunter Developer
Добавлено:
Категория: Основы «Python»
Комментариев: 0

В этой статье по основам 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, нет необходимости писать логику для загрузки скриптов из другого каталога.

Теги записи: Python, Основы Python, import,
Комментарии к статье 0
Комментариев нет
Форма добавления комментария (необходима регистрация)