কম্পিউটার টিউটোরিয়াল

পাইথন SyntaxError: Invalid Syntax সমাধান

সিনট্যাক্স হলো প্রোগ্রামিং ভাষা কীভাবে লেখা উচিত তা নির্ধারণ করে নিয়মের সেট। প্রতিটি ভাষার নিজস্ব সিনট্যাক্স নিয়ম থাকে যা অন্যদের থেকে আলাদা। এদের কথা বলা ভাষার ব্যাকরণ বা puntuation-এর সাথে তুলনা করা যায়। ইংরেজিতে প্রশ্নচিহ্ন (?) গ্রিকের প্রশ্নচিহ্ন (;) থেকে আলাদা।

আপনি অনুমান করতে পারেন যে যখন আপনি সিনট্যাক্স এরর পান, তখন আপনি প্রোগ্রামিং ভাষাটি ভুলভাবে লিখছেন। আপনি ভুলে যাবতীয়ভাবে সিনট্যাক্স বাদ দিচ্ছেন বা অন্য ভাষার সিনট্যাক্স ব্যবহার করছেন, যা ডেভেলপাররা তাদের টেক স্ট্যাক বাড়াতে গিয়ে প্রায়শই করে।

এই আর্টিকেলে আমরা সাধারণ পাইথন 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-এর key-value pair-এর পর কমা অনুপস্থিত", তবে আপনি সঠিক। ডিকশনারিগুলো, জাভাস্ক্রিপ্টের অবজেক্টের মতো, প্রতিটি key-value pair-এর পর কমা প্রয়োজন, শেষ key-value pair বাদে।

উপরোক্ত এররটির সমাধান নিচে:

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

আপনি যদি বলেন "একই টাইপের কোটের ভিতর একই টাইপের কোট ব্যবহার", তবে আপনি সঠিক। পাইথনে কোটেশন ব্যবহার করার সময় সিনট্যাক্স এরর এড়ানোর একাধিক উপায় রয়েছে।

১. ডাবল কোটেশন মার্কস ব্যবহার

print("Mary's teacher stated that she has a 3.0 GPA.")

২. ব্যাকস্ল্যাশ ব্যবহার

print('Mary\'s teacher stated that she has a 3.0 GPA.')

পুরানো পাইথন ভার্সনে নতুন সিনট্যাক্স ব্যবহার

নিশ্চিত করুন যে আপনি যে সিনট্যাক্স ব্যবহার করছেন সেটি আপনার ব্যবহৃত পাইথন ভার্সনের সাথে সাংঘর্ষিক নয়। উদাহরণস্বরূপ, ৩.৬-এর পূর্বের যেকোনো পাইথন ভার্সন f-strings চিনতে পারবে না এবং আপনি যদি সিনট্যাক্স রান করান তবে invalid syntax এরর দেখাবে। ডেভেলপাররা হয় ভার্সন আপডেট করতে পারেন, বা সেট করা ভার্সনের সাথে সাংঘর্ষিক সিনট্যাক্স ব্যবহার করতে পারেন।

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

পাইথন কীওয়ার্ড অনुपযুক্তভাবে ব্যবহার

আপনি পাইথন কীওয়ার্ড সঠিকভাবে ব্যবহার করছেন কিনা তা জানার সেরা উপায় হলো জানা যে সেই কীওয়ার্ডগুলো কী এবং পাইথনে এদের কী কাজ। কিছু পাইথন কীওয়ার্ড নিয়ে গভীর ধারণার জন্য "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 পাইথনে একটি কীওয়ার্ড যা লুপের পরবর্তী ইটারেশনে যেতে ব্যবহৃত হয়। উপরের সমস্যাটি সমাধান করতে বুলিয়ান True কে একটি ভেরিয়েবল নামে অ্যাসাইন করুন যা পাইথন কীওয়ার্ড নয়।

on = True
print(on) # returns True
  1. পাইথন ডিকশনারি তৈরির সঠিক সিনট্যাক্স

  2. পাইথন টাপল তৈরির সঠিক সিনট্যাক্স

  3. পাইথন এক্সসেপশন কি রানটাইম এরর?

  4. পাইথনে SyntaxError এক্সসেপশন ক্যাচ করা