निम्न कोड में:इंटेलिजे-आईडीईए के पायथन प्रकार चेकर - गलत अपेक्षित प्रकार?
from typing import List
def test() -> List[str]:
ret = ["Hi", "Hi"]
return ret
मैं समारोह परिभाषा लाइन पर निम्न चेतावनी प्राप्त कर रहा हूँ:
Expected type 'Integral", got 'str' instead
मैं किसी भी कारण से नहीं देख सकते हैं क्यों इंटेलीजे-विचार है अजगर मॉड्यूल इस व्याख्या str के बजाय इंटीग्रल की एक सूची लौटने के रूप में सरल कार्य। क्या यह एक प्रकार का चेकर बग है?
मुझे लगता है कि त्रुटि फ़ंक्शन की वापसी के बजाय 'सूची [str]' से है - क्या * है * टाइपिंग। सूची '? – jonrsharpe
यह mypy का हिस्सा है, जो पाइथन पर प्रकार की जांच की अनुमति देता है; हालांकि, यदि आप पाइथन की मानक सूची (लोअरकेस) का उपयोग करते हैं, जैसे कि डिफ टेस्ट() -> सूची [str] में आपको स्ट्र के साथ सटीक त्रुटि मिलती है। – Shookit
जब आप "त्रुटि" कहते हैं, तो क्या आपका मतलब पाइथन त्रुटि है, या PyCharm से चेतावनी है? संभावित रूप से उत्तरार्द्ध, 'सूची [str]' के रूप में बस बिल्कुल काम नहीं करेगा। ध्यान दें कि उदा। * "पीईपी 484 के लिए पीईएचर्म 4.5 ईएपी बिल्ड ** प्रारंभिक समर्थन ** है, क्योंकि इस पीईपी को अभी तक अंतिम रूप दिया नहीं गया है" * (https://www.jetbrains.com/pycharm/help/type-hinting-in-pycharm। एचटीएमएल), तो आपको आश्चर्यचकित नहीं होना चाहिए अगर यह अभी तक पूरी तरह से काम नहीं कर रहा है। – jonrsharpe