2013-02-22 16 views
7

कहें कि मैं 'अनुरोध' पायथन पुस्तकालय के साथ काम कर रहा हूं।पिचर्म: कोड पूर्णता अनुशंसा नहीं दे रहा है

req = requests.get("http://google.com") 

अब इस के बाद, अगर मैं req. टाइप करें, मैं सभी तरीकों मैं उपयोग कर सकते हैं की एक सूची प्राप्त करने की अपेक्षा की कर रहा हूँ। लेकिन किसी कारण से मैं नहीं करता, भले ही मैं मैन्युअल रूप से ctrl-space दबाता हूं।

यदि मैं इसे ipython में आज़माता हूं, तो मुझे स्वत: पूर्ण अनुशंसाएं मिलती हैं। यहां तक ​​कि अगर मैं इसे पिचर्म में निर्मित पायथन कंसोल के माध्यम से कोशिश करता हूं, तो मुझे सिफारिशें मिलती हैं।

ऐसा क्यों हो रहा है?

उत्तर

15

चूंकि पाइथन गतिशील रूप से टाइप की गई भाषा है, इसलिए आपको यह सुनिश्चित करने की ज़रूरत है कि यह किस प्रकार की चीजें हैं, और आपके सिस्टम पर पुस्तकालयों का सही ढंग से निरीक्षण कर सकते हैं। यह सुनिश्चित करने का प्रयास करें कि यह स्पष्ट है कि आपके कोड में ऑब्जेक्ट किस प्रकार है।

हाल ही में एक अच्छा तरीका जोड़ा गया (2.7) रनटाइम प्रकार का पता लगाने में सक्षम है - आपके प्रोग्राम में पाइचर्म हुक चलता है जबकि यह चल रहा है (डीबगिंग करते समय), और वेरिएबल्स के प्रकारों की जांच के रूप में जांचता है।

आप वरीयताओं पर जाकर, "पायथन डीबगर" चुनकर और "कोड अंतर्दृष्टि के लिए रन-टाइम प्रकार की जानकारी एकत्रित करें" चुनकर इसे सक्षम कर सकते हैं।

Preferences screen of PyCharm

तुम भी Epydoc या स्फिंक्स शैली docstrings कि पैरामीटर और वापसी मान प्रकार के बारे में जानकारी होती है का उपयोग करके PyCharm 'बता' कर सकते हैं। PyCharm इन निरीक्षणों को बेहतर बनाने के लिए इनका उपयोग करेगा।

6

पायथन एक गतिशील रूप से टाइप की गई भाषा है, जिसका अर्थ है कि "प्राप्त करें" फ़ंक्शन इसके रिटर्न प्रकार की घोषणा नहीं करता है। जब आप आईपीथॉन में या PyCharm कंसोल में कोड दर्ज कर रहे हैं, तो कोड वास्तव में निष्पादित किया जा रहा है, और चल रहे दुभाषिया में ऑब्जेक्ट इंस्टेंस का निरीक्षण करना और इसकी विधियों की सूची प्राप्त करना संभव है। जब आप PyCharm या किसी अन्य पायथन आईडीई में कोड दर्ज कर रहे हैं, तो इसे निष्पादित नहीं किया जाता है, और विधि के रिटर्न प्रकार का अनुमान लगाने के लिए स्थिर विश्लेषण का उपयोग करना संभव है। यह सभी मामलों में संभव नहीं है।

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