पायथन 3.6 रिलीज होने वाली है। PEP 494 - पायथन 3.6 रिलीज़ शेड्यूल दिसंबर के अंत का उल्लेख करता है, इसलिए मैं पायथन 3.6 में व्हाट्स न्यू के माध्यम से गया, यह देखने के लिए कि वे चर एनोटेशन का उल्लेख करते हैं :
पीईपी 484 ने फ़ंक्शन मापदंडों के प्रकार एनोटेशन, उर्फ टाइप संकेत के लिए मानक पेश किया। यह पीईपी वर्ग चर और उदाहरण चर सहित प्रकारों की व्याख्या करने के लिए पायथन में वाक्यविन्यास जोड़ता है:
primes: List[int] = [] captain: str # Note: no initial value! class Starship: stats: Dict[str, int] = {}
फ़ंक्शन एनोटेशन के लिए के रूप में, पायथन दुभाषिया चर एनोटेशन के लिए किसी विशेष अर्थ को संलग्न नहीं करता है और केवल उन्हें
__annotations__
एक वर्ग या मॉड्यूल की विशेष विशेषता में संग्रहीत करता है । वैधानिक रूप से टाइप की गई भाषाओं में परिवर्तनशील घोषणाओं के विपरीत, एनोटेशन सिंटैक्स का लक्ष्य अमूर्त सिंटैक्स ट्री और__annotations__
विशेषता के माध्यम से तीसरे पक्ष के उपकरण और पुस्तकालयों के लिए संरचित प्रकार मेटाडेटा को निर्दिष्ट करने का एक आसान तरीका प्रदान करना है ।
इसलिए मैंने जो पढ़ा है, वे पायथन 3.5 से आने वाले प्रकार के संकेतों का हिस्सा हैं, जो वर्णन किया गया है कि पायथन 3.5 में क्या हैं ।
मैं उदाहरण captain: str
और class Starship
उदाहरण का पालन करता हूं , लेकिन पिछले एक के बारे में निश्चित नहीं हूं : कैसे primes: List[int] = []
समझाता है? क्या यह एक खाली सूची को परिभाषित कर रहा है जो सिर्फ पूर्णांक की अनुमति देगा?
primes: List[int] = []
के रूप में सिर्फ एक खाली सूची हैprimes = []
। अंतर यह है कि आप कर रहे हैं का दावा है किprimes
करने के लिए है शामिल केवलint
है और 3 पार्टी अनुप्रयोगों अपने कार्यक्रम की जाँच इस दावे का सत्यापन टाइप सकता है, लेकिन जब आप किसी भी अजगर दुभाषिया सिर्फ लेखन के रूप में ही है कि में कोड को चलानेprimes = []
, और इस तरह कर रही हैprimes: List[int] = []; primes.append("string")
अब भी है वैध।