<p>我有以下结构的代码:</p>
<p>接口<code>ISomething</code>(即基抽象类):</p>
<pre><code>class ISomething:
# some methods that should be implemented in classes
# that implement this interface
</code></pre>
<p>实现<code>ISomething</code>接口的各种类:</p>
<pre><code>class SomethingA(ISomething):
# implementation of the interface
class SomethingB(ISomething):
# implementation of the interface
(...)
class SomethingZ(ISomething):
# implementation of the interface
</code></pre>
<p>我的另一个类需要构造函数中的类<code>SomethingA</code>、<code>SomethingB</code>、<code>SomethingZ</code>之一的对象:</p>
<pre><code>def __init__(self, something):
'''
Constructor
:param something: Param description
:type something: *Anything that implements ISomething interface*
'''
self._something = something
</code></pre>
<p>如您所见,我使用<code>Sphing Docstring</code>。然而,我在寻找一般的答案。你知道吗</p>
<p>我的任务是:如何记录变量是实现ISomething接口的任何类的对象。你知道吗</p>
<p>目前,我将此变量的类型记录为“列表中的一个”,即:</p>
<pre><code>:type something: SomethingA|SomethingB|...|SomethingZ
</code></pre>
<p>然而,我不确定这是否是最好的方法。我觉得最好是保持它的概括性。你知道吗</p>