Próbuję podzielić moją ogromną klasę na dwie; cóż, zasadniczo na klasę "główną" i mixin z dodatkowymi funkcjami, takimi jak:
main.py
plik:
import mymixin.py class Main(object, MyMixin): def func1(self, xxx): ...
mymixin.py
file:
class MyMixin(object): def func2(self: Main, xxx): # <--- zwróć uwagę na wskazówkę dotyczącą typu ...
Teraz, chociaż działa to dobrze, wskazówka typu w MyMixin.func2
oczywiście nie działa. Nie mogę zaimportować main.py
, ponieważ otrzymuję import cykliczny i bez podpowiedzi mój edytor (PyCharm) nie może powiedzieć, czym jest self
.
Używam Pythona 3.4, chętnie przejdę na 3.5, jeśli rozwiązanie jest tam dostępne.
Czy jest jakiś sposób, aby podzielić moją klasę na dwa pliki i zachować wszystkie połączenia ", aby moje środowisko IDE nadal oferowało mi automatyczne uzupełnianie & wszystkie inne gadżety, które z niego pochodzą, znając typy?