Насколько я понимаю, это было бы полностью кошерным.В Python источником является документация , или, по крайней мере, ее следует рассматривать как дополнение к опубликованной документации API.Это в значительной степени является следствием принудительного использования пробелов и соглашений о кодировании, которые подчеркивают ясный, читаемый код : когда у вас есть вопросы, на которые документация не отвечает, вы должны быть в состоянии перейти к исходному коду и найти ответы.
В частности, подобные детали не имеют отношения к большинству клиентов модуля Queue
(которые просто используют классы), чтобы они не попали в опубликованные документы.Но если вы хотите создать подкласс Queue
, разработчики ожидают, что вы будете копать глубже, поэтому в исходном коде есть примечание, которое вы можете найти.
Я также упомяну, что Python на самом деле не имеетпонятие «пакет-приват».Семантически, нет никакой разницы между подклассом, который находится в том же модуле, и тем, который находится в другом модуле, даже если вы пишете сами.На самом деле, в Python даже нет понятия «частный».Вместо этого он опирается на принцип ответственного использования: как разработчик вы должны быть достаточно умны, чтобы не использовать внутренние методы, когда вам это не нужно.Начало имени члена с подчеркиванием - это просто указание на то, что это внутренний метод, и что вам, вероятно, не следует обращаться к нему, если вы просто используете класс - но если вы подклассифицируете его, что-нибудьЧестная игра.