मैंने देखा कि पायथन 3.5 और पायथन 3.6 स्थिर प्रकार की जांच के बारे में बहुत सी विशेषताएं जोड़ते हैं, इसलिए मैंने निम्न कोड (पायथन 3.6, स्थिर संस्करण में) के साथ प्रयास किया।पायथन 3.6 में टाइप संकेतों का उपयोग कैसे करें?
from typing import List
a: List[str] = []
a.append('a')
a.append(1)
print(a)
क्या मुझे हैरान कर दिया था कि, अजगर मुझे, कोई त्रुटि या चेतावनी नहीं दी थी, हालांकि 1
एक list
जो केवल तार को शामिल करना चाहिए के साथ जोड़ दिया गया था। Pycharm
ने टाइप त्रुटि का पता लगाया और मुझे इसके बारे में एक चेतावनी दी, लेकिन यह स्पष्ट नहीं था और यह आउटपुट कंसोल में नहीं दिखाया गया था, मुझे कभी डर था कि कभी-कभी मुझे याद आती है। मुझे निम्नलिखित प्रभाव चाहिए:
- यदि यह स्पष्ट है कि मैंने ऊपर दिखाए गए गलत प्रकार का उपयोग किया है, तो चेतावनी या त्रुटि फेंक दें।
- यदि संकलक विश्वसनीय रूप से जांच नहीं कर सका कि मेरे द्वारा उपयोग किए जाने वाले प्रकार सही या गलत थे, तो इसे अनदेखा करें।
क्या यह संभव है? हो सकता है कि mypy
ऐसा कर सके, लेकिन मैं mypy
में उपयोग की गई टिप्पणी-शैली (# type List[str]
) की बजाय पायथन-3.6-शैली प्रकार की जांच (जैसे a: List[str]
) का उपयोग करना पसंद करूंगा। और अगर मैं ऊपर बताए गए दो बिंदुओं को प्राप्त करने के लिए देशी पायथन 3.6 में एक स्विच है तो मैं उत्सुक हूं।
mypy पहले ही पाइथन 3.6 परिवर्तनीय एनोटेशन का समर्थन करता है। – user2357112
डुप्लिकेट नहीं होने पर प्रासंगिक: [पायथन 3.5 में टाइप संकेत क्या हैं] (http://stackoverflow.com/questions/32557920/what-are-type-hints-in-python-3-5/32558710#32558710) और [ पायथन 3.6 में परिवर्तनीय एनोटेशन क्या हैं?] (Http://stackoverflow.com/questions/39971929/what-are-variable-annotations-in-python-3-6?noredirect=1&lq=1) –
इसे छोटा रखने के लिए: टाइप एनोटेशन टाइपिंग लागू करने के लिए नहीं हैं। भाषा गतिशील रूप से टाइप की जा रही है। – jsbueno