Модули в Python: создание, импорт и продвинутое использование
Модули в Python
Узнайте, как создавать, импортировать и управлять модулями Python. Изучите лучшие практики, продвинутые техники импорта и пути поиска модулей.
Видео: модули Python
Посмотрите подробное руководство по основам модулей.
Что такое модули Python?
Модуль — это просто файл, содержащий операторы и определения Python. Например, example.py — это модуль с именем example. Модули помогают разбивать большие программы на управляемые, повторно используемые части. Определите общие функции один раз и импортируйте их везде, где нужно.
Давайте создадим небольшой модуль. Сохраните следующее как example.py:
# example.py – простой модуль сложения
def add(a, b):
"""Возвращает сумму двух чисел."""
return a + b
Как импортировать модули в Python
Используйте ключевое слово import для включения модуля в текущее пространство имен. Например:
>> import example
Обращайтесь к его содержимому через точечный оператор:
>> example.add(4, 5.5)
9.5
Python поставляется с богатой стандартной библиотекой. Вы можете просмотреть все модули на Python Standard Library.
Оператор import в Python
# Импорт стандартного модуля math
import math
print("The value of pi is", math.pi)
The value of pi is 3.141592653589793
Импорт с переименованием
# Импорт math под более коротким псевдонимом
import math as m
print("The value of pi is", m.pi)
Переименование экономит ввод, но помните, что исходное имя (math) больше недоступно.
Оператор from…import в Python
# Импорт только константы pi из math
from math import pi
print("The value of pi is", pi)
Несколько имен можно импортировать в одной строке:
from math import pi, e
print(pi, e)
Импорт всех имен
from math import *
print("The value of pi is", pi)
Использование * не рекомендуется, потому что оно загрязняет пространство имен и может скрыть, откуда пришло имя.
Путь поиска модулей Python
Когда Python импортирует модуль, он проверяет:
- Текущую директорию.
- Директории, перечисленные в переменной окружения
PYTHONPATH. - Стандартные директории установки Python.
Изучите список путей с помощью sys.path:
import sys
print(sys.path)
# ['', 'C:\Python33\Lib\idlelib', 'C:\Windows\system32\python33.zip', ...]
Перезагрузка модуля
Модули загружаются только один раз за сессию интерпретатора. Для повторной оценки измененного модуля используйте importlib.reload() (модуль imp устарел в Python 3). Пример:
# my_module.py
print("This code got executed")
>> import my_module
This code got executed
>>> importlib.reload(my_module)
This code got executed
Встроенная функция dir()
Используйте dir() для списка всех атрибутов модуля:
import example
print(dir(example))
# ['__builtins__', '__cached__', '__doc__', '__file__', '__name__', 'add']
Специальные атрибуты, такие как __name__, раскрывают метаданные модуля:
print(example.__name__) # 'example'
Вызов dir() без аргументов показывает все имена в текущем пространстве имен.
Python
- Освоение типов данных в Python: практическое руководство
- Мастерство ввода-вывода и импорта модулей в Python: Практическое руководство
- Мастерство операторов Python: Полное руководство
- Аргументы функций в Python: позиционные, именованные и параметры по умолчанию
- Модули в Python: создание, импорт и продвинутое использование
- Словари в Python: создание, манипуляции и продвинутые техники
- Итераторы в Python: как они работают и как создать свои
- Замыкания в Python: как вложенные функции захватывают переменные
- Модуль datetime в Python: практическое руководство по датам, времени и часовым поясам
- Освоение модуля time в Python: функции, структуры и практические примеры