Объясните, пожалуйста, что такое __all__ (я так понимаю, это некий список), в каких случаях он используется в Python и как это применяется при импортировании?
Читаю Бизли, но там как-то мудрёно написано и пример непонятный, я не понял, честно говоря. Гугление тоже особо не помогло...
Ответы
Ответ 1
__all__ в Pythone - это список публичных объектов данного модуля. Т.е, допустим
у вас есть некий mymodule.py, в нем описано очень много объектов, и не требуется давать пользоваться ими всеми со стороны. В __all__ в mymodule.py вы списком определяете названия объектов, которые можно импортировать (__all__ = ["MyClass", "MyClass2"]).
Т.е., например при from mymodule import * импортированы будут только те объекты
которые вы описали в __all__.
Возможно, директиву __all__ правильно будет назвать одним из уровней инкапсуляции в Python.
Комментариев нет:
Отправить комментарий