インターフェイスがA
で、1つの関数があるとします。インターフェイスを実装しているクラスのヒントタイプ
class A(metaclass=ABCMeta):
@abstractmethod
def spam(self, x: int) -> str:
pass
あり、このインタフェースを実装するクラスB
とC
がありますが、それらは直接初期化されません。私はA
を実装する適切なオブジェクトを私に返すファクトリメソッドを持っています。この場合、B
とC
にspam
を実装すると、タイプヒントを繰り返す必要がありますか?実際には、B
とC
は直接使用されないので、A
のタイプヒントで十分です。しかし、私はこの状況でのベストプラクティスに興味があります。考慮すべき他の問題がある場合。
静的解析を実行している場合、最も安全なオプションはどこにでもヒントを提供することです。この質問は実際にスタティック・アナライザーがどのように実装されているかにかかっていますが、私はあなたのクラスが抽象メソッドを実装していることをアナライザーが認識しないと考えています。 –