Я кодирую небольшой модуль Python, состоящий из двух частей:
- некоторые функции, определяющие открытый интерфейс,
- класс реализации, используемый вышеуказанными функциями, но который не имеет смысла вне модуля.
Сначала я решил "скрыть" этот класс реализации, определив его внутри используемой функции, но это затрудняет читаемость и не может использоваться, если несколько функций повторно используют один и тот же класс.
Итак, в дополнение к комментариям и docstrings, есть ли механизм для обозначения класса как "private" или "internal"? Я знаю механизм подчеркивания, но, как я понимаю, он применяется только к именам переменных, функций и методов.