সংক্ষিপ্ত উত্তর: পাইথনে ভেরিয়েবল ডিক্লেয়ার করার কোনো প্রয়োজন নেই।
বিস্তারিত বিবরণ নিচে:
স্ট্যাটিক্যালি টাইপড ল্যাঙ্গুয়েজ (C, C++, Java, C#) প্রোগ্রামে ব্যবহার করার আগে ভেরিয়েবলের নাম এবং টাইপ ডিক্লেয়ারশন প্রয়োজন। কম্পাইলার নিশ্চিত করে যে উপযুক্ত ডেটা ভেরিয়েবলে সংরক্ষিত হচ্ছে। উদাহরণস্বরূপ C-এ, যদি প্রোগ্রামার একটি ইন্টিজার কনস্ট্যান্ট একটি ভেরিয়েবলে সংরক্ষণ করতে চান, তবে সেটি অবশ্যই ডিক্লেয়ার করতে হবে:
int x;
ডিক্লেয়ারেশনের পর অ্যাসাইনমেন্ট বা ইউজার ইনপুট দেওয়া যায়। যদি ভ্যালু ইন্টিজার ছাড়া অন্য কিছু হয়, কম্পাইলার টাইপ মিসম্যাচ এরর দেবে।
x=10; // এটি বৈধ অ্যাসাইনমেন্ট
x = "Hello"; // এটি টাইপ মিসম্যাচ এরর জেনারেট করবে
পাইথন ডাইনামিক্যালি টাইপড ল্যাঙ্গুয়েজ। আসলে, পাইথনে একটি নির্দিষ্ট টাইপের (নাম্বার, স্ট্রিং, বুলিয়ান ইত্যাদি) ডেটা অবজেক্ট একটি নির্দিষ্ট মেমরি লোকেশনে সংরক্ষিত থাকে এবং ভেরিয়েবল শুধু সেটির সাথে বাউন্ড একটি নাম। অন্য কথায়, ভেরিয়েবলের টাইপ রানটাইমে এসাইন করা ভ্যালুর ওপর নির্ভর করে। পাইথনের স্ট্যান্ডার্ড লাইব্রেরিতে type() ফাংশন রয়েছে ভেরিয়েবলের ডেটা টাইপ জানতে। নিচের উদাহরণটি দেখিয়ে কীভাবে পাইথন ভেরিয়েবলের টাইপ ডাইনামিক্যালি পরিবর্তন হয়:
>>> a="Hello" # ভেরিয়েবল a স্ট্রিং অবজেক্ট সংরক্ষণ করে
>>> type(a)
<class 'str'>
>>> a=10 # ভেরিয়েবল a এখন ইন্টিজার নাম্বার অবজেক্ট সংরক্ষণ করে
>>> type(a)
<class 'int'>