Курс Python → Управление импортом в Python

В Python управление тем, что может быть импортировано из модуля, а что — нет, осуществляется с помощью атрибута `__all__`. Если в модуле определить атрибут `__all__`, то при импорте через `from module import *` будут импортированы только те имена, которые перечислены в этом атрибуте. В противном случае будут импортированы все имена, не начинающиеся с нижнего подчеркивания.

Например, если у нас есть модуль `my_module.py` с определенными функциями и переменными, и мы хотим импортировать только часть их из этого модуля, мы можем определить атрибут `__all__` внутри этого модуля. Например, `__all__ = [‘my_function’, ‘my_variable’]`. Тогда при импорте `from my_module import *` будут доступны только `my_function` и `my_variable`.


# Пример определения атрибута __all__ в модуле
__all__ = ['my_function', 'my_variable']

def my_function():
    print("This is my function")

my_variable = 42

Если атрибут `__all__` не определен в модуле, то при импорте через `from module import *` будут доступны все имена, которые не начинаются с нижнего подчеркивания. Это может привести к тому, что будут импортированы имена, которые не предполагалось экспортировать из модуля, что может привести к конфликтам и ошибкам в программе.

Использование атрибута `__all__` позволяет более четко контролировать, какие имена из модуля должны быть доступны для импорта извне, что способствует более структурированному и безопасному программированию в Python.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Очистка данных в Python
  2. Отправка HTTP-запросов с User-Agent
  3. Функция eval() в Python
  4. Добавление цвета в консоли
  5. Модуль array: создание и использование массивов
  6. Оператор @ для умножения матриц
  7. Поиск уникальных и повторяющихся элементов
  8. Python Enum Weekday Usage
  9. Работа с модулем cmath
  10. Тип данных TypeVarTuple
  11. Открытие, чтение и закрытие файла
  12. Python Метод del.
  13. Отладка регулярных выражений в Python
  14. Функция product() в Python
  15. Блок try-except-else
  16. Проблема с изменяемыми аргументами
  17. Переопределение метода sub
  18. Извлечение новостей с помощью newspaper3k
  19. Объединение словарей в Python
  20. Работа с утверждениями в Python
  21. Список методов и атрибутов
  22. Сравнение строк в Python
  23. 9 уловок для чистого кода
  24. Работа со словарями в Python
  25. Использование функции enumerate()
  26. Модуль itertools: комбинации и перестановки
  27. Метод rmatmul для пользовательских матриц
  28. Очистка данных с помощью pandas
  29. Переопределение метода __pow__
  30. Запуск внешних программ с subprocess
  31. Избегайте ошибку FileNotFoundError
  32. Проверка файла .py на синтаксис.
  33. Установка Python — Простое руководство
  34. Разделение строки с помощью re.split()
  35. Цикл for в Python
  36. Метод __iand__ для пользовательских классов
  37. Обработка исключений в Python
  38. Доступ к локальным переменным
  39. Автоматизация действий с Pyautogui
  40. Проверка типов с использованием isinstance
  41. Лямбда-функции для min/max
  42. Функция enumerate в Python
  43. Округление чисел с помощью round

Marketello читают маркетологи из крутых компаний