मैं निम्नलिखित पायथन कोड है:छाया में निर्मित नाम "समारोह" और PyCharm
function = "Developer"
module = "something"
print(function + " on " + module)
PyCharm 2017 के साथ, मैं एक बुलबुला है जो कहता है "छाया में निर्मित नाम" समारोह "/"मॉड्यूल" PyCharm के साथ "।
मुझे आश्चर्य है क्योंकि "फ़ंक्शन" और "मॉड्यूल" नामों में अंतर्निहित नहीं हैं। वे या तो कीवर्ड नहीं हैं:
import __builtin__
import keyword
assert "function" not in dir(__builtin__) # -> OK
assert "module" not in dir(__builtin__) # -> OK
assert "function" not in keyword.kwlist # -> OK
assert "module" not in keyword.kwlist # -> OK
क्या गलत है?
मैं सीपीथन 2.7 का उपयोग कर रहा हूं, लेकिन 3.5 & 3.6 के साथ एक ही समस्या है।
संपादित करें:
__builtin__
अब builtins
पायथन 3. में है
मुझे अभी भी समझ में नहीं आ रहा है कि क्यों "फ़ंक्शन" PyCharm स्टब्स में मौजूद है ... –
@LaurentLAPORTE आपको जेटब्रेन से पूछने की आवश्यकता होगी, लेकिन जैसा कि मैंने अपने उत्तर में समझाया है, यह शायद किसी भी तरह से संकेत देने में मदद करता है। – DeepSpace
मुझे गिटहब पर [टाइपेड] (https://github.com/python/typeshed/) संदर्भ मिला। उद्धरण: "प्रत्येक पायथन मॉड्यूल का प्रतिनिधित्व' .pyi' "stub" द्वारा किया जाता है। यह एक सामान्य पायथन फ़ाइल है (यानी, इसे पायथन 3 द्वारा व्याख्या किया जा सकता है), सिवाय सभी विधियां खाली हैं। पायथन फ़ंक्शन एनोटेशन ([पीईपी 3107] (https://www.python.org/dev/peps/pep-3107/)) फ़ंक्शन के प्रकारों का वर्णन करने के लिए उपयोग किया जाता है।" –