Страницы

Поиск по вопросам

вторник, 26 ноября 2019 г.

Что такое __all__ в Python?


Объясните, пожалуйста, что такое __all__ (я так понимаю, это некий список), в каких случаях он используется в Python и как это применяется при импортировании?
Читаю Бизли, но там как-то мудрёно написано и пример непонятный, я не понял, честно говоря. Гугление тоже особо не помогло...    


Ответы

Ответ 1



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

Комментариев нет:

Отправить комментарий