.py
(например, my_module.py
).import my_module
.my_module.my_function()
.Создание собственного модуля в Python – это довольно простая и важная концепция. Модуль, по сути, это просто файл с расширением .py
, содержащий определения функций, классов, переменных или исполняемый код.
Вот как это сделать:
.py
. Например, my_module.py
.
# my_module.py
def greet(name):
"""Приветствует пользователя по имени."""
return f"Привет, {name}!"
def add(x, y):
"""Суммирует два числа."""
return x + y
my_variable = "Это переменная в модуле"
class MyClass:
def __init__(self, value):
self.value = value
def describe(self):
return f"Это экземпляр MyClass со значением: {self.value}"
# main.py
import my_module
# Используем функции и переменные из my_module
result = my_module.greet("Алиса")
print(result) # Вывод: Привет, Алиса!
sum_result = my_module.add(5, 3)
print(sum_result) # Вывод: 8
print(my_module.my_variable) # Вывод: Это переменная в модуле
instance = my_module.MyClass(10)
print(instance.describe()) # Вывод: Это экземпляр MyClass со значением: 10
from my_module import greet, add
: Импортирует только конкретные функции или переменные из модуля. После этого их можно использовать напрямую, без префикса my_module.
from my_module import *
: Импортирует все имена, определенные в модуле. Использование этой формы обычно не рекомендуется, так как она может привести к конфликтам имен.import my_module as mm
: Импортирует модуль под псевдонимом mm
. Это полезно для сокращения имени модуля или для избежания конфликтов имен. Например: mm.greet("Боб")
PYTHONPATH
(если она установлена).site-packages
в вашей установке Python.PYTHONPATH
или переместить его в каталог, где Python его найдет.Дополнительные советы:
__name__ == "__main__":
: Эта конструкция позволяет выполнять код только при непосредственном запуске файла (а не при его импорте как модуля).
# my_module.py
def my_function():
print("Функция из my_module")
if __name__ == "__main__":
print("Этот код будет выполнен только при запуске my_module.py напрямую")
my_function()
В заключение, создание собственных модулей – это фундаментальный навык для организации кода в Python, делающий его более модульным, переиспользуемым и поддерживаемым.