自身を返すメソッドを作成し、子クラスを作成する場合の時のtype hint

環境

Python 3.9
VSCode
pylance

実現したいこと

・親クラスの内部のメソッドで、そのインスタンス自身を返すメソッドが存在する。
・親クラスを継承した子クラスを作成した。

問題

・子クラスのインスタンスがそのメソッドを呼ぶコードを書くと、VSCode上でその返り値が親クラスとして認識された。
・子クラスのメソッド等を補間できない。

該当のソースコード

python

from __future__ import annotations class Layers(): #(略) def add_thickness(self,layer,thickness)->Layers: #(略) return self class LayersWithAntiReflectionLayers(Layers): #(略) hoge=LayersWithAntiReflectionLayers().add_thickness( piyo, 12)

VSCode上ではhogeがLayers扱いされ、LayersWithAntiReflectionLayersのメソッド等の補間が効かない。

コメントを投稿

0 コメント