Я пытаюсь разделить свой огромный класс на два; ну, в основном в "основной" класс и миксин с дополнительными функциями, например так:
main.py файл:
import mymixin.py
class Main(object, MyMixin):
def func1(self, xxx):
...
mymixin.py файл:
class MyMixin(object):
def func2(self: Main, xxx): # <--- note the type hint
...
Теперь, хотя это работает нормально, подсказка MyMixin.func2типа, конечно, не может работать. Я не могу импортировать main.py, потому что получаю циклический импорт, и без подсказки мой редактор (PyCharm) не может сказать, что это selfтакое.
Я использую Python 3.4, готов перейти на 3.5, если там есть решение.
Есть ли способ разделить мой класс на два файла и сохранить все «соединения», чтобы моя IDE по-прежнему предлагала мне автоматическое завершение и все другие полезности, которые исходят от него, зная типы?
self, поскольку он всегда будет подклассом текущего класса (и любая система проверки типов должна иметь возможность вычислить это самостоятельно). Является лиfunc2пытаться вызовfunc1, который не определен вMyMixin? Может быть (какabstractmethod, может быть)?