沒有循環導入的 Python 類型提示

| | | | | | | | | |

我正在嘗試將我的大類分成兩部分;嗯,基本上分為“主”類和帶有附加功能的 mixin,如下所示:

main.py 文件:

import mymixin.py class Main(object, MyMixin): def func1(self, xxx): ... 

mymixin.py 文件:

class MyMixin(object): def func2(self: Main, xxx): # <--- 注意類型提示... 

現在,雖然這工作得很好,但 MyMixin.func2 中的類型提示當然不能工作。我無法導入 main.py,因為我會得到一個循環導入並且沒有提示,我的編輯器 (PyCharm) 無法分辨出 self 是什麼。

我正在使用 Python 3.4,如果那裡有可用的解決方案,我願意遷移到 3.5。

有什麼辦法可以將我的課程分成兩個文件並保留所有“連接” " 這樣我的 IDE 仍然為我提供自動完成和知道類型的所有其他好東西?