Estou tentando dividir minha classe enorme em duas; bem, basicamente na classe "principal" e um mixin com funções adicionais, assim:
main.py
arquivo:
import mymixin.py class Main(object, MyMixin): def func1(self, xxx): ...
mymixin.py
arquivo:
class MyMixin(object): def func2(self: Main, xxx): # <--- observe a dica de tipo ...
Agora, embora isso funcione bem, a dica de tipo em MyMixin.func2
obviamente não pode funcionar. Não consigo importar main.py
, porque obteria uma importação cíclica e sem a dica, meu editor (PyCharm) não pode dizer o que é self
.
Estou usando Python 3.4, disposto a mudar para 3.5 se uma solução estiver disponível lá.
Existe alguma maneira de dividir minha classe em dois arquivos e manter todas as "conexões " para que meu IDE ainda me ofereça autocompletar & todas as outras guloseimas que vêm dele conhecendo os tipos?