関数の戻り値の型が基底クラスではなく、どのようにして関数を定義できますか?例:Python pep484型チェックで自己を返す上位レベルのメソッドはどうすればいいですか
Class Parent:
def set_common_properties_from_string(input : str) -> <WHAT SHOULD BE HERE>
# Do some stuff you want to do in all classes
return self
Class Child(Parent):
pass
def from_file(filename : str) -> 'Child'
return Child().set_common_properties_from_string() # The return type of set_common must be Child
または何とか1つキャストする必要がありますか?戻り値の型がbaseclassの場合、エラーが発生します。
私はちょうど2行にドロップし、Child()を保持するための一時変数を追加することができます知っているが、私は1つのライナーがはるかに見栄えが良いと思う。
私はタイプチェックにmypyを使用しています。
だけでスタイルのヒント:後に、括弧の前にスペースがあなたのコードはあまり読みやすく。 – MKesper