Модули — это файлы с кодом на языке Python, содержащие фрагменты кода, предназначенные для решения определённых задач. Использование модулей позволяет структурировать код больших проектов, улучшая читаемость и упрощая отладку. Разбиение программы на отдельные модули значительно облегчает работу с большим объёмом кода, позволяя независимо разрабатывать и тестировать отдельные части проекта.
Типы модулей
В Python все модули делятся на две категории: встроенные и сторонние.
- Встроенные модули: поставляются вместе с интерпретатором Python. Их описание можно найти на сайте docs.python.org. Примеры: math (математические функции), модули работы с датой и временем.
- Сторонние модули: разрабатываются независимыми разработчиками. Примеры: фреймворки и библиотеки, расширяющие функциональность Python.
Работа со встроенными модулями
Рассмотрим пример работы со встроенным модулем math. На сайте docs.python.org можно найти полный список его функций. Например, math.factorial() вычисляет факториал числа.
Для подключения модуля используется ключевое слово import:
import math
print(math.factorial(10))
Альтернативный способ импорта: использование as для сокращения имени модуля:
import math as m
print(m.factorial(10))
Можно импортировать только необходимые функции:
from math import factorial
print(factorial(10))
Создание и использование собственных модулей
Создадим модуль privet.py с функцией privet(), выводящей фразу «Привет, мир!».
# привет.py
def privet():
print("Привет, мир!")
Для использования созданного модуля:
import privet
privet.privet()
Аналогично, можно использовать as для сокращения имени:
import privet as hp
hp.privet()
Также можно импортировать только конкретную функцию:
from privet import privet
privet()
В этом уроке мы познакомились с концепцией модулей в Python, научились использовать встроенные модули и создавать собственные, а также рассмотрели различные способы импорта модулей и функций. Использование модулей — важный аспект организации кода в больших проектах, способствующий улучшению читаемости, упрощению сопровождения и повышению эффективности разработки.