Я пытаюсь разделить свой огромный класс на две части; ну, в основном в "основной" класс и миксин с дополнительными функциями, вот так:
файл 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 все еще предлагала мне автозаполнение и все другие полезности, которые приходят из него, зная типы?