सिंटैक्स वे नियम हैं जो निर्धारित करते हैं कि प्रोग्रामिंग भाषाओं को कैसे लिखा जाना चाहिए। प्रत्येक भाषा के अपने सिंटैक्स नियम होते हैं जो दूसरों से भिन्न होते हैं। हम उन्हें बोली जाने वाली भाषाओं में व्याकरण या विराम चिह्न की तरह सोच सकते हैं। अंग्रेजी में प्रश्न चिह्न (?) ग्रीक में प्रश्न चिह्न (;) से भिन्न होता है।
आप यह निष्कर्ष निकाल सकते हैं कि जब आपको सिंटैक्स त्रुटि मिलती है, तो आप प्रोग्रामिंग भाषा को गलत तरीके से लिख रहे हैं। आप गलती से किसी अन्य भाषा के सिंटैक्स को छोड़ या उपयोग कर रहे होंगे, जो अक्सर होता है जब डेवलपर्स अपना टेक स्टैक बढ़ाते हैं।
इस लेख में हम सामान्य Python SyntaxErrors में गोता लगाएंगे, उदाहरण प्रदान करेंगे, और आपको दिखाएंगे कि उन्हें कैसे ठीक किया जाए।
सामान्य SyntaxErrors और उन्हें कैसे ठीक करें
डिक्शनरीज़
नीचे दिए गए कोड में सिंटैक्स त्रुटि क्यों आई, यह जानने का प्रयास करें।
student_gpas = { 'Mary': 3.0, 'Tim': 2.5 'John': 4.0 }
print(f'Mary has a {student_gpas["Mary"]} GPA.') # returns SyntaxError: invalid syntax
यदि आप कहते हैं "2.5 के की-वैल्यू पेयर के बाद कॉमा गायब है", तो आप सही हैं। डिक्शनरीज़, JavaScript में ऑब्जेक्ट्स की तरह, प्रत्येक की-वैल्यू पेयर के बाद एक कॉमा की आवश्यकता होती है, अंतिम की-वैल्यू पेयर के अपवाद के साथ।
उपरोक्त त्रुटि का समाधान नीचे दिया गया है।
student_gpas = { 'Mary': 3.0, 'Tim': 2.5, 'John': 4.0 }
print(f'Mary has a {student_gpas["Mary"]} GPA.') # returns Mary has a 3.0 GPA.
कोट्स (उद्धरण चिह्न)
नीचे दिए गए कोड में सिंटैक्स त्रुटि क्यों आई, यह जानने का प्रयास करें।
print('Mary's teacher stated that she has a 3.0 GPA.') # returns SyntaxError: invalid syntax
यदि आपने "उद्धरण के भीतर उसी प्रकार के उद्धरणों का उपयोग" जैसा कुछ कहा, तो आप सही होंगे। Python में उद्धरणों का उपयोग करते समय सिंटैक्स त्रुटि से बचने के कई तरीके हैं।
1. डबल कोटेशन मार्क्स का उपयोग करना
print("Mary's teacher stated that she has a 3.0 GPA.")
2. बैकस्लैश का उपयोग करना
print('Mary\'s teacher stated that she has a 3.0 GPA.')
पुराने Python संस्करणों के साथ नए सिंटैक्स का उपयोग
सुनिश्चित करें कि आप जिस सिंटैक्स का उपयोग कर रहे हैं वह आपके द्वारा उपयोग किए जा रहे Python संस्करण के साथ संगत है। उदाहरण के लिए, 3.6 से पहले का कोई भी Python संस्करण f-strings को पहचान नहीं पाएगा और यदि आप सिंटैक्स चलाते हैं तो अमान्य सिंटैक्स त्रुटि फेंकेगा। डेवलपर्स या तो संस्करण को अपडेट कर सकते हैं, या सेट संस्करण के लिए संगत सिंटैक्स का उपयोग कर सकते हैं।
student_gpas = { 'Mary': 3.0, 'Tim': 2.5, 'John': 4.0 }
print(f'Mary has a {student_gpas["Mary"]} GPA.') # returns SyntaxError: invalid syntax on older versions of Python
Python कीवर्ड्स का अनुचित उपयोग
यह जानने का सबसे अच्छा तरीका है कि आप Python कीवर्ड का अनुचित उपयोग कर रहे हैं या नहीं, यह जानना कि वे कीवर्ड क्या हैं और Python में उनका उपयोग किस लिए किया जाता है। कुछ Python कीवर्ड्स पर गहन अवलोकन के लिए, "How to Use the Python not Keyword", "The Python Yield Keyword: A Guide", और "Python positional argument follows keyword argument Solution" लेख देखें।
नीचे दिए गए कोड में सिंटैक्स त्रुटि क्यों आई, यह जानने का प्रयास करें।
continue = True print(continue) # returns SyntaxError: invalid syntax
यदि आपका उत्तर है "क्योंकि हम एक कीवर्ड को मान निर्दिष्ट कर रहे हैं", तो आप सही हैं। continue Python में एक कीवर्ड है जिसका उपयोग लूप के अगले पुनरावृत्ति (iteration) को जारी रखने के लिए किया जाता है। उपरोक्त का एक समाधान बूलियन True को एक वेरिएबल नाम पर सेट करना होगा जो Python कीवर्ड नहीं है।
on = True print(on) # returns True