चक्रीय आयात के बिना पायथन प्रकार संकेत

| | | | | | | | | |

मैं अपनी विशाल कक्षा को दो भागों में विभाजित करने की कोशिश कर रहा हूं; ठीक है, मूल रूप से "मुख्य" वर्ग में और अतिरिक्त कार्यों के साथ एक मिश्रण, जैसे:

main.py फ़ाइल:

आयात mymixin.py वर्ग मुख्य(वस्तु, MyMixin): def func1(self, xxx): ... 

mymixin.py फ़ाइल:

class MyMixin(object): def func2(self: Main, xxx): # <--- टाइप हिंट नोट करें... 

अब, जबकि यह ठीक काम करता है, निश्चित रूप से MyMixin.func2 में टाइप हिंट काम नहीं कर सकता। मैं main.py आयात नहीं कर सकता, क्योंकि मुझे एक चक्रीय आयात मिलेगा और संकेत के बिना, मेरा संपादक (PyCharm) यह नहीं बता सकता कि स्वयं क्या है।

मैं पायथन 3.4 का उपयोग कर रहा हूं, अगर वहां कोई समाधान उपलब्ध है तो मैं 3.5 पर जाने के लिए तैयार हूं।

क्या कोई तरीका है जिससे मैं अपनी कक्षा को दो फाइलों में विभाजित कर सकता हूं और सभी "कनेक्शन" रख सकता हूं। "ताकि मेरा आईडीई अभी भी मुझे स्वतः पूर्णता प्रदान करता है & अन्य सभी अच्छाइयाँ जो इससे आती हैं, उनके प्रकारों को जानते हुए?