Python для начинающих: Модули и импорт (Урок 25)

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

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

Роли модулей

Модули играют три важные роли:

  1. Многократное использование кода: Модули позволяют хранить код в файлах и подключать его в другие программы.
  2. Разбиение пространства имён: Модуль — организационная единица высшего уровня. К именам переменных, функциям и другим объектам модуля нельзя обратиться, пока он не импортирован. Это помогает избежать конфликтов имён и упрощает код основной программы.
  3. Реализация разделяемых служб и данных: Модули удобны для реализации компонентов, используемых в нескольких частях программы, но хранящихся в одном месте, предотвращая дублирование кода.

Категории модулей

Модули в Python можно условно разделить на категории:

  1. Встроенные модули: Представляют базовые возможности языка. Импортируются автоматически или требуют простого импорта без дополнительной установки. Включают модули общего назначения и платформозависимые модули (например, связанные с операционной системой). Список встроенных модулей можно посмотреть, импортировав модуль sys и выведя sys.builtin_module_names.
  2. Стандартная библиотека: Обширная коллекция дополнительных модулей и пакетов, расширяющих возможности языка. Входит в состав дистрибутива Python и не требует дополнительной установки. Содержит около 300 модулей, выполняющих множество полезных задач. Список модулей можно посмотреть с помощью функции help(‘modules’). Рекомендуется сначала проверять наличие необходимых функций в стандартной библиотеке, прежде чем писать собственный код.
  3. Сторонние модули: Модули и пакеты, не входящие в состав Python. Устанавливаются из Python Package Index (PyPI) с помощью утилиты pip. PyPI содержит более полумиллиона пакетов.
  4. Пользовательские модули: Модули, создаваемые разработчиками. Представляют собой файлы с кодом Python (расширение .py).

Импорт модулей

Для использования модуля его нужно импортировать с помощью оператора import.

Например, для импорта модуля math:

import math

Для использования функции из модуля:

result = math.sqrt(9)

В PyCharm можно нажать Ctrl и кликнуть на имя импортированного модуля, чтобы посмотреть его содержимое. Информацию о конкретной функции можно получить с помощью math.sqrt.__doc__.

Модуль this содержит принципы написания программ от Тима Питерса (Zen of Python).

Можно импортировать отдельные функции или объекты из модуля с помощью оператора from:

from random import randint
random_number = randint(12, 100)

Можно импортировать все из модуля с помощью *, но это не рекомендуется из-за возможных конфликтов имён:

from math import *

Функции, имена которых начинаются с подчеркивания (_), не импортируются при использовании *.

Для избежания конфликтов имён можно использовать псевдонимы:

from math import sqrt as sq
result = sq(9)

Функции dir() и help() позволяют посмотреть содержимое и справку по модулю.

Создание собственных модулей

Создание собственного модуля — это создание файла с кодом Python. Рекомендуется использовать змеиный регистр для имён модулей и писать документацию (docstrings).

Пример создания модуля my_module.py с функцией вычисления площади круга:

def circle_area(radius):
  """Вычисляет площадь круга."""
  return 3.14 * radius * radius

Импорт и использование созданного модуля:

import my_module
radius = float(input())
area = my_module.circle_area(radius)
print(area)

Функции, имена которых начинаются с двойного подчеркивания (__), скрываются при импорте с помощью *.

Сторонние модули и pip

Сторонние модули устанавливаются с помощью pip. Например, установка библиотеки Pygame:

pip install pygame

Основные команды pip: install, uninstall, list, show, search.

Модули как скрипты верхнего уровня

Файлы Python могут запускаться как автономные программы или импортироваться как модули. Атрибут __name__ равен ‘__main__’, если модуль запущен как скрипт, и имени модуля — если импортирован. Это часто используется в юнит-тестах.

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

Что будем искать? Например,программа