Рубрики
Без рубрики

Создание модуля Python

Итак, вы изучаете Python уже довольно давно. Как новичок, это обычная практика-иметь однофайловую программу, в которой весь код организован с помощью

Автор оригинала: Pankaj Kumar.

Итак, вы изучаете Python уже довольно давно. Как новичок, это обычная практика-иметь однофайловую программу, в которой весь код организован с использованием классов и функций .

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

Что такое модуль Python?

Модуль Python-это файл Python, содержащий классы, методы или переменные, которые вы хотите включить в свое приложение.

Распространенной практикой, которую вы будете наблюдать среди продвинутых приложений Python, является многократное использование функций или классов, объединенных в файл, а затем импортированных в другие части программы.

Пример модуля Python 1

Это называется модулем Python. Затем этот модуль можно импортировать, а переменные и функции можно повторно использовать несколько раз, не объявляя и не создавая их каждый раз.

Как создать модуль Python?

Это просто, но мы разберем его на небольшие фрагменты, чтобы вы поняли его и смогли применить в реальных сценариях.

1. Создайте Файл, содержащий метод

Сначала мы создадим базовый метод, который добавляет два числа, которые он принимает в качестве параметров.

name = "AskPython"
def add(num1, num2):
        return num1 + num2

Это наш модуль. Приведенный выше код-это просто метод, который возвращает сумму двух чисел, которые ему передаются. Сохраните приведенный выше код как adder.py и мы перейдем к следующему шагу.

2. Создайте Основной файл для импорта модуля

Наш следующий шаг – импортировать пользовательские модули python в нашу программу. Теперь это точно так же, как импорт любого другого модуля.

Единственное отличие заключается в том, что файл модуля находится локально, а не в системном пути.

import adder
nums = adder.add(5, 10)
print(nums)
Основы импорта модуля

В приведенном выше примере я импортировал наш файл “сумматор”. Вам не нужно добавлять расширение “.py” при импорте.

3. Импорт Только Одной Функции

Предположим, в нашем модуле у нас было несколько функций, выполняющих несколько задач. Но в программе, в которую мы импортируем модуль, нам нужна была только одна из этих функций. Импорт всего модуля был бы ненужным.

В этом случае мы можем использовать from и import вместе.

from adder import add

nums = add(5, 10)
print(nums)
Основы импорта модуля 1

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

4. Использование Переменных Из Нашего Модуля

Возможно, вы заметили две переменные в нашем модуле. Мы добавили их, чтобы продемонстрировать, как переменные могут быть напрямую импортированы из модуля с сохранением их значений.

import adder

nums = adder.add(5, 10)
print(nums)

print(adder.name)
Переменные импорта модуля

Импорт Модулей Из Разных Каталогов

Вам не нужно хранить модуль в той же папке, что и ваш основной файл. Это было бы очень неудобно, если бы было много файлов.

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

Вместо этого вы можете организовать модули в папки и по-прежнему импортировать их таким же образом, как и раньше. Нам просто нужно будет внести небольшое изменение в инструкцию импорта, и все остальное будет работать нормально.

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

1. Импорт, указав Имя папки

Обозначение dot или from..import , которое мы использовали выше, можно использовать для импорта модулей, расположенных в каталоге. Давайте разместим наши “adder.py” модуль в каталоге с именем modules .

Модули В Каталоге 1
import modules.adder as adder

nums = adder.add(5, 10)
print(nums)

print(adder.name)

В этом примере мы переименовали имя нашего модуля из “modules.adder” в “adder”, используя as .

Причина этого заключается в том, что без переименования нам придется указывать “modules.adder.add(5,10)” и так далее каждый раз, когда нам нужно вызвать функцию из модуля.

Нам не нужно переименовывать модуль в инструкции import . Мы также можем создать переменную позже в программе, которая содержит имя модуля, и использовать переменную для вызова функций внутри модуля.

Нам не нужно переименовывать модуль в инструкции || import||. Мы также можем создать переменную позже в программе, которая содержит имя модуля, и использовать переменную для вызова функций внутри модуля.

Это тоже будет работать, но объявление нового имени прямо в начале программы улучшает читаемость кода, облегчая работу следующему программисту, который работает над вашим фрагментом кода.

Другой способ-использовать from..import . Это избавляет нас от переименования модулей для использования в программе. Единственное изменение, которое мне нужно будет внести в команду импорта, – это использовать из сумматора импорта модулей

from modules import adder

nums = adder.add(5, 10)
print(nums)

print(adder.name)

2. Добавьте Путь к sys.path

При импорте модулей Python сначала просматривает предопределенные пути, чтобы найти модуль, соответствующий имени. Первый каталог, в который он заглядывает, – это текущий каталог, после чего он перемещается в другие перечисленные каталоги.

Давайте распечатаем sys.path и посмотрим, какие пути ищет Python.

import sys
print(sys.path)
Путь Sys В Python Linux

Приведенный выше вывод генерируется на компьютере с Linux. Если вы используете компьютер с Windows, вы получите другой список путей.

Поскольку sys.path-это список Python, мы можем добавить к нему пути.

import sys
sys.path.append("modules")
import adder

nums = adder.add(5, 10)
print(nums)

print(adder.name)

Мы импортировали модуль sys и добавили к нему каталог “модули”. Поэтому в любой момент, когда вам нужно импортировать модуль в каталог modules в этой программе, вы можете просто указать имя, и вы должны быть готовы начать работу.

3. Обеспечение доступности Модуля в масштабах всей системы

Мы распечатали sys.path в приведенном выше примере. Мы знаем, что Python будет просматривать эти каталоги по умолчанию независимо от того, где находится ваш код.

Если мы переместим наш модуль в один из этих каталогов, вы легко получите доступ к модулю из любой программы, которую вы создадите на своем компьютере в будущем.

Обратите внимание, что при переносе программы в другую систему вам потребуется скопировать модуль вместе с ней. Поэтому для программных модулей лучше всего организовать их в папках в родительском каталоге и импортировать оттуда.

Вывод

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

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