के साथ प्रिंट पर सिंटेक्स त्रुटि पाइथन 3 में स्ट्रिंग को प्रिंट करते समय मुझे वाक्यविन्यास त्रुटि क्यों प्राप्त होती है?पाइथन 3
>>> print "hello World"
File "<stdin>", line 1
print "hello World"
^
SyntaxError: invalid syntax
के साथ प्रिंट पर सिंटेक्स त्रुटि पाइथन 3 में स्ट्रिंग को प्रिंट करते समय मुझे वाक्यविन्यास त्रुटि क्यों प्राप्त होती है?पाइथन 3
>>> print "hello World"
File "<stdin>", line 1
print "hello World"
^
SyntaxError: invalid syntax
अजगर 3 में, print
became a function। इसका मतलब यह है कि अब आप कोष्ठक शामिल करने की ज़रूरत नीचे उल्लेख की तरह:
print("Hello World")
ऐसा लगता है कि आप जिसमें print has turned into a callable function बल्कि एक बयान से, अजगर 3.0 का उपयोग कर रहे हैं।
print("Hello world")
अजगर 3.0 में, print
एक नियमित कार्य है जो की आवश्यकता है() है एक बयान के। इस प्रयास करें:
print("hello World")
ऐसा लगता है कि अजगर 3. उपयोग कर रहे हैं अजगर 3 में, प्रिंट के बजाय एक पद्धति के लिए बदल दिया गया है:
print('Hello world!')
अजगर 3 में, यह print("something")
, नहीं print "something"
है।
क्योंकि अजगर 3 में, print statement
एक print() function
के साथ पुराने प्रिंट बयान के विशेष सिंटेक्स के सबसे को बदलने के लिए बदल दिया गया है, कीवर्ड तर्क के साथ। तो आप के रूप में
print("Hello World")
इसे लिखने के लिए है लेकिन अगर आप एक कार्यक्रम में इस बारे में और कुछ पायथन 2.x का उपयोग कर एक को चलाने के लिए कोशिश करता है, वे एक त्रुटि मिल जाएगा। इससे बचने के लिए, यह प्रिंट समारोह आयात करने के लिए एक अच्छा अभ्यास
from __future__ import print_function
अब आप कोड दोनों 2.x & 3.x
उदाहरण नीचे चेक बाहर भी प्रिंट से परिचित कराने के पर काम करता है() फ़ंक्शन है ।
Old: print "The answer is", 2*2
New: print("The answer is", 2*2)
Old: print x, # Trailing comma suppresses newline
New: print(x, end=" ") # Appends a space instead of a newline
Old: print # Prints a newline
New: print() # You must call the function!
Old: print >>sys.stderr, "fatal error"
New: print("fatal error", file=sys.stderr)
Old: print (x, y) # prints repr((x, y))
New: print((x, y)) # Not the same as print(x, y)!
स्रोत: What’s New In Python 3.0?
2.x पायथन print
में एक keyword जबकि अजगर 3.X print
में एक समारोह हो जाता है, तो यह करने के लिए सही तरीका print(something)
है।
आप को क्रियान्वित करते हुए प्रत्येक संस्करण के लिए कीवर्ड की सूची प्राप्त कर सकते हैं निम्नलिखित:
>>> import keyword
>>> keyword.kwlist
आप प्रिंट print("Hello World")
2to3 साथ ब्रैकेट उपयोग करने के लिए एक अजगर प्रोग्राम है जो पढ़ता है पायथन 2.x स्रोत है कोड और यह वैध अजगर 3.x कोड में बदलने की फिक्सरों की एक श्रृंखला के लिए लागू होता
इसके अलावा जानकारियां यहां पाया जा सकता:
Python Documentation: Automated Python 2 to 3 code translation
अजगर 3 में, आप print('some code')
करना चाहिए। ऐसा इसलिए है क्योंकि पायथन 3 में यह एक समारोह बन गया है।यदि आपको जरूरी है, तो आप अपने पायथन 2 कोड का उपयोग कर सकते हैं और 2to3
का उपयोग करके इसे पायथन 3 कोड में परिवर्तित कर सकते हैं - यह एक महान अंतर्निहित प्रोग्राम है जो पायथन के साथ आता है। अधिक के लिए, Python 2to3 - Convert your Python 2 to Python 3 automatically! देखें।
संकेत: पायथन में संगतता कोड के लिए 2.7+ इसे मॉड्यूल की शुरुआत में डाल दें: '__future__ आयात print_function' –
से आयात करें ... आयात print_function काम नहीं कर रहा है, क्या आपको प्रिंट स्टेटमेंट में कुछ बदलने की ज़रूरत है ? या आयात करना चाहिए? – RMiranda
रिकॉर्ड के लिए, इस मामले को पायथन 3.4.2 में एक कस्टम त्रुटि संदेश मिल जाएगा: https://stackoverflow.com/questions/25445439/what-does-syntaxerror-missing-parentheses-in-call-to-print- mean-in-python/ – ncoghlan