Как создать и использовать собственный модуль Python

26 set 2023 2 min di lettura
Как создать и использовать собственный модуль Python
Indice dei contenuti

Введение

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

Поймите основы

Модуль в Python — это просто файл, содержащий определения и операторы Python. Имя файла — это имя модуля, за которым следует расширение .py. Например, модуль с именем mymodule будет сохранен как mymodule.py.

Создайте форму

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

Например, ниже я создал скрипт Python mymath.py, который включает в себя функции сложения, вычитания, умножения и деления.

# mymath.py

 def add(x, y):
 return x + y

 def subtract(x, y):
 return x - y

 def multiply(x, y):
 return x * y

 def divide(x, y):
 if y == 0:
 return "Undefined (division by zero)"
 return x /y

Здесь мы создали простой модуль mymath.py с четырьмя основными арифметическими функциями.

Используйте форму

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

# main.py

 # Importing our custom module
 import mymath

 # Using functions from our module
 print(mymath.add(5, 3))
 print(mymath.subtract(5, 3))
 print(mymath.multiply(5, 3))
 print(mymath.divide(5, 3))

Примечание. Убедитесь, что main.py и mymath.py находятся в одном каталоге или что mymath.py находится в каталоге, который находится в sys.path Python.

Использование оператора from...import

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

from mymath import add, subtract

 print(add(5, 3))
 print(subtract(5, 3))

Использование __name__

В более крупных модулях вам может потребоваться протестировать свой код. Атрибут __name__ позволяет вам контролировать, будет ли модуль запускаться напрямую или импортироваться где-то еще:

# mymath.py

 def add(x, y):
 #... (same as above)

 #... other functions...

 if __name__ == "__main__":
 print("Running tests for mymath module")
 assert add(2, 3) == 5
 #... more tests...

Организуйте несколько модулей с помощью пакетов

Если у вас есть несколько связанных модулей, вы можете объединить их в один пакет. Пакет — это просто способ собрать связанные модули вместе в единой иерархии каталогов.

Например, чтобы создать пакет с именем mypackage:

Создайте каталог с именем mypackage.

mkdir mypackage

Добавьте в каталог пустой файл с именем __init__.py (это заставит Python рассматривать каталог как пакет или подпакет).

touch./mypackage/__init__.py

Поместите соответствующие файлы модуля в каталог mypackage.

Затем вы можете импортировать модули из этого пакета, используя:

from mypackage import mymath

Развертывание формы

Если вы считаете, что ваш модуль может принести пользу более широкому сообществу Python, рассмотрите возможность его распространения через индекс пакетов Python (PyPI). Сначала вы упакуете его с помощью setuptools, а затем сможете распространять с помощью шпагата.

Заключение

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

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.