2012-01-27 9 views
5

मैंने हाल ही में पायचर्म उठाया है और मुझे विंग से एक फीचर में उपयोग किया जाता है, जहां आप आईडीई को बता सकते हैं कि कौन सा वर्ग एक विशेष पहचानकर्ता (चर, विशेषता, जो कुछ भी) होगा। उदाहरण के लिए:क्या प्यचर्म को स्पष्ट रूप से बताने का कोई तरीका है कि एक विशेषता किस वर्ग का एक उदाहरण है?

my_object = SomeClass() 
assert isinstance(my_object.my_attribute, SomeOtherClass) 

इस बिंदु पर, विंग वास्तव में जानता है my_object.my_attribute क्या है भी अगर यह अन्यथा यह स्रोत कोड विश्लेषण से यह पता लगाने नहीं कर सका।

मैं PyCharm में एक समान सुविधा की तलाश में हूं। मुझे पता है कि किसी वस्तु का एक विशेष गुण क्या है, लेकिन PyCharm नहीं करता है, तो मैं इसे कैसे कह सकता हूं, तो यह मुझे आसान पूरा करने दे सकता है?

संबंधित प्रश्न: मैं भी एक ऐसी ही सवाल है, How can I tell PyCharm what type a parameter is expected to be? क्यों दिखाई देता है, लेकिन यह विशेषताओं, बस मानकों को कवर नहीं करता।

उत्तर

7

असल में पाइचर्म 'जोर देने की स्थिति' वाक्यविन्यास को भी समझता है, लेकिन केवल अयोग्य संदर्भों के लिए। मैं योग्य संदर्भ के लिए यह समर्थन करने के लिए एक मुद्दा दायर किया है, साथ ही:

http://youtrack.jetbrains.net/issue/PY-5614

वर्तमान संस्करण में, आप SomeClass की घोषणा करने जा रहा है और एक epydoc या स्फिंक्स docstring जोड़कर my_attribute के प्रकार निर्दिष्ट कर सकते हैं विशेषता के लिए।

2

यह मैं हूँ (2.6.2)

class Rule (object): 
    def __init__(self, *args): 
     self.criteria = [] 
     """@type : list of Criterion""" 
     crit = self.criteria[0] 
     #on this line, code completion works for "crit" 
5

के लिए काम कर रहा है मैं समझता हूँ कि आपके सवाल का आप के लिए सही ढंग से क्या देख रहे PyCharm से सामान्य प्रकार निष्कर्ष है। एक स्थाई रूप से टाइप की गई भाषा से आ रहा है, जब मैं कोड पूरा करने का उपयोग करता था तब मैं परेशान था और विकल्प पाइथन लाइब्रेरी की सामग्री के जितने असंख्य थे।

मुझे पता चला है कि PyCharm में रनटाइम के दौरान प्रकार की जानकारी इकट्ठा करने का विकल्प होता है और इसे विकास के समय (यानी कोड पूरा करने) के दौरान उपलब्ध कराया जाता है।

यहाँ आप कोड "कोड अंतर्दृष्टि के लिए रन-टाइम प्रकार एकत्र"

के रूप में आप "डिबग" (नहीं आप की जरूरत नहीं है तुम कैसे हो रहा है ...

प्राथमिकताएं> अजगर डिबगर> ब्रेकपॉइंट का उपयोग करें)। PyCharm सभी कोड नेविगेशन/समापन के लिए बेहतर सुझाव प्रदान करना शुरू कर देगा।

चीयर्स

Picture of Debug Preferences

संबंधित मुद्दे

 संबंधित मुद्दे