Я кодирования небольшой модуль Python, состоящий из двух частей:«Private» (реализация) класса в Python
- некоторые функции, определяющие общий интерфейс,
- класс реализации, используемый выше функций, но что не имеет смысла вне модуля.
Сначала я решил «скрыть» этот класс реализации, определив его внутри используемой функции, но это затрудняет читаемость и не может использоваться, если несколько функций повторно используют один и тот же класс.
Итак, в дополнение к комментариям и docstrings, есть ли механизм для обозначения класса как «частного» или «внутреннего»? Я знаю механизм подчеркивания, но, как я понимаю, он применяется только к именам переменных, функций и методов.
Я не KNO w правило подчеркивания распространяется на классы. Я не хочу загромождать свое пространство имен при импорте, поэтому это поведение - то, что я искал. Благодаря! – oparisy
Поскольку вы заявляете, что это «официальное» соглашение на python, было бы неплохо со ссылкой. Другое сообщение здесь говорит, что __all__ является официальным способом и ссылается на документацию. – flodin
http://www.python.org/dev/peps/pep-0008/ - _single_leading_underscore: слабый индикатор «внутреннего использования». Например. «from M import *» не импортирует объекты, имя которых начинается с подчеркивания. - Классы для внутреннего использования имеют ведущее подчеркивание. – Miles