خطأ في بناء الجملة عند الطباعة باستخدام Python 3 [نسخة مكررة]
-
05-07-2019 - |
سؤال
هذا السؤال لديه بالفعل إجابة هنا:
لماذا أتلقى خطأً في بناء الجملة عند طباعة سلسلة في Python 3؟
>>> print "hello World"
File "<stdin>", line 1
print "hello World"
^
SyntaxError: invalid syntax
المحلول
في بايثون 3، print
أصبحت وظيفة.هذا يعني أنك بحاجة إلى تضمين الأقواس الآن كما هو مذكور أدناه:
print("Hello World")
نصائح أخرى
يبدو أنك تستخدم Python 3.0، حيث لقد تحولت الطباعة إلى وظيفة قابلة للاستدعاء بدلا من البيان.
print('Hello world!')
لأنه في بايثون 3، print statement
تم استبداله ب print() function
, ، مع وسيطات الكلمات الرئيسية لاستبدال معظم الصياغة الخاصة لعبارة الطباعة القديمة.لذلك عليك أن تكتبها كما
print("Hello World")
لكن إذا كتبت هذا في برنامج وحاول شخص ما يستخدم Python 2.x تشغيله، فسوف يحصل على خطأ.لتجنب ذلك، من الممارسات الجيدة استيراد وظيفة الطباعة
from __future__ import print_function
الآن تعمل التعليمات البرمجية على كلا الإصدارين 2.x و3.x
راجع الأمثلة أدناه أيضًا للتعرف على وظيفة print().
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)!
مصدر: ما الجديد في بايثون 3.0؟