Fork me on GitHub

Python и модули / пакеты

Полезные ссылки

  • https://ru.hexlet.io/blog/posts/likbez-po-paketam-i-shpargalka-po-modulyam-v-python

Существует и возможность явно указать, что конкретное будет экспортировано при импорте со звёздочкой. Для управления названным методом импорта существует атрибут __all__, в который можно положить список (а ещё лучше — кортеж) строк с именами, которые будут экспортироваться.

Живой пример видимости атрибутов модулей.

Рассмотрим пример, демонстрирующий всё вышеописанное. Пусть у нас будет два файла:

# Файл "module.py"
from other_module import CAT, DOG as _DOG, _GOAT

FISH = 'fish'
MEAT = 'meat'
_CARROT = 'carrot'

__all__ = ('FISH', '_CARROT')
# Файл "other_module.py"

CAT = 'cat'
DOG = 'dog'
_GOAT = 'goat'

social