以下の内容はhttps://anton0825.hatenablog.com/entry/2017/07/15/000000より取得しました。


pythonのclassのメソッド定義のtype hintに自身のクラスを指定したい

例えば、以下のようにクラスAのメソッドの返値にクラスAを指定したい場合、普通に書くとエラーになる。

class A:
    def create_instance(self) ->A:
        ...

これはclass Aの定義が完了する前にclass Aを参照しているため。 python 3.7以降はfuture importを使うことで解決できるが、3.6以下では -> 'A' のようにクラス名の文字列を使うようにすると PyCharmはクラスを指定したのと同じようにtype checkしてくれるし定義にJumpもできる。 Javaとかに慣れてるとPythonは色々と奇妙なところがあるなぁ。。

参考:

stackoverflow.com




以上の内容はhttps://anton0825.hatenablog.com/entry/2017/07/15/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14