What are Variables ? In Bengali
পাইথনে ভেরিয়েবলস (Variables): ডেটা সংরক্ষণের মূল চাবিকাঠি
আগের পোস্টে আমরা জেনেছি একটি প্রোগ্রাম (Program) কী এবং কীভাবে এটি নির্দেশাবলীর সমষ্টি হিসেবে কাজ করে। আমরা দেখেছিলাম, প্রতিটি প্রোগ্রামের দুটি প্রধান অংশ থাকে: ডেটা (Data) এবং সেই ডেটার উপর চালিত অপারেশন (Operations)।
আজকের এই পোস্টে আমরা ডেটা পরিচালনার প্রথম এবং সবচেয়ে গুরুত্বপূর্ণ ধাপটি শিখব—ভেরিয়েবল (Variable)। একটি প্রোগ্রাম কীভাবে তথ্য বা ডেটা মনে রাখে? কীভাবে একটি ক্যালকুলেটর আপনার দেওয়া সংখ্যাগুলো মনে রেখে যোগফল বের করে? এই সবকিছুর মূলে রয়েছে ভেরিয়েবল।
চলুন, পাইথন প্রোগ্রামিং-এর এই ভিত্তিপ্রস্তরটি সম্পর্কে বিস্তারিত জেনে নেওয়া যাক।
ভেরিয়েবল (Variable) কী?
সহজ ভাষায়, ভেরিয়েবল হলো ডেটা বা তথ্য সংরক্ষণ করার জন্য একটি নামযুক্ত স্থান বা কন্টেইনার। যখন আমরা কোনো ডেটা নিয়ে কাজ করতে চাই, তখন সেটিকে একটি ভেরিয়েবলের মধ্যে রাখি এবং পরে সেই নামটি ব্যবহার করে ডেটাটিকে অ্যাক্সেস করি।
বিষয়টিকে একটি লেবেল লাগানো বাক্সের মতো ভাবতে পারেন। আপনি বাক্সের ভেতরে কিছু জিনিস রাখেন (ডেটা) এবং বাক্সের উপর একটি নাম লিখে দেন (ভেরিয়েবলের নাম), যাতে পরে সহজেই চিনতে পারেন ভেতরে কী আছে।
আমাদের আগের আয়তক্ষেত্রের ক্ষেত্রফল বের করার প্রোগ্রামের কথা ভাবুন।
length = 15
breadth = 5
এখানে 15
এবং 5
হলো আমাদের ডেটা। আর length
এবং breadth
হলো ভেরিয়েবল, যারা এই ডেটাগুলোকে ধরে রেখেছে।
ভেরিয়েবলের মূল কাজ হলো ডেটাকে একটি নাম দেওয়া, যাতে আমরা প্রোগ্রামের বিভিন্ন জায়গায় সেই নামটি ব্যবহার করে ডেটা নিয়ে কাজ করতে পারি।
ভেরিয়েবলের পরিভাষা: Declaration এবং Initialization
ভেরিয়েবল নিয়ে কাজ করার সময় দুটি শব্দ খুব প্রচলিত: ডিক্লারেশন (Declaration) এবং ইনিশিয়ালাইজেশন (Initialization)।
যখন আমরা লিখি: my_age = 28
- ডিক্লারেশন (Declaration): এখানে আমরা
my_age
নামে একটি ভেরিয়েবল তৈরি করছি। অর্থাৎ, আমরা কম্পিউটারকে বলছি যেmy_age
নামে একটি ভেরিয়েবলের অস্তিত্ব আছে। - ইনিশিয়ালাইজেশন (Initialization): আমরা ভেরিয়েবলটিকে
28
মানটি দিয়ে দিচ্ছি। অর্থাৎ, এটিকে একটি প্রাথমিক মান (Initial Value) দিচ্ছি।
পাইথনের একটি বড় সুবিধা হলো, এখানে ভেরিয়েবল ডিক্লেয়ার করা এবং ইনিশিয়ালাইজ করা একসাথেই হয়ে যায়।
গুরুত্বপূর্ণ নোট: =
চিহ্নটি গাণিতিক "সমান" চিহ্ন নয়। প্রোগ্রামিং-এ এটিকে অ্যাসাইনমেন্ট অপারেটর (Assignment Operator) বলা হয়। এর মানে হলো, ডানদিকের মানটিকে (value) বাঁদিকের ভেরিয়েবলে সংরক্ষণ (assign) করা হচ্ছে।
ভেরিয়েবল এবং মেমরি (Memory)
যখন আমরা একটি ভেরিয়েবল তৈরি করি, তখন আসলে কী ঘটে?
my_age = 28
যখন এই লাইনটি এক্সিকিউট হয়, তখন কম্পিউটার তার প্রধান মেমরিতে (RAM) 28
সংখ্যাটি সংরক্ষণের জন্য কিছু জায়গা বরাদ্দ করে। আর my_age
নামটি সেই মেমরি লোকেশনের একটি রেফারেন্স (Reference) বা নির্দেশক হিসেবে কাজ করে।
সহজ কথায়, my_age
নামটি জানে যে মেমরির কোন ঠিকানায় 28
মানটি রাখা আছে। তাই পাইথনে ভেরিয়েবলকে ডেটার একটি রেফারেন্স হিসেবে ভাবাটাই সবচেয়ে সঠিক।
ডেটার প্রকারভেদ (Types of Data)
ভেরিয়েবলে আমরা বিভিন্ন ধরণের ডেটা রাখতে পারি। চলুন কিছু মৌলিক ডেটার প্রকারভেদ দেখে নিই:
- Integer (পূর্ণসংখ্যা): যেকোনো পূর্ণসংখ্যা, যেখানে কোনো দশমিক বিন্দু থাকে না।
total_students = 50
- Float (দশমিক সংখ্যা): দশমিক বিন্দুযুক্ত যেকোনো সংখ্যা।
product_price = 199.99
- String (স্ট্রিং): যেকোনো টেক্সট বা অক্ষরভিত্তিক ডেটা, যা সিঙ্গেল (
' '
) বা ডাবল (" "
) কোটেশনের মধ্যে লেখা হয়।city_name = "Kolkata"
একাধিক ভেরিয়েবলের ঘোষণা (Multiple Declarations)
পাইথনে আমরা একই লাইনে একাধিক ভেরিয়েবল ডিক্লেয়ার এবং ইনিশিয়ালাইজ করতে পারি। এটি কোডকে আরও সংক্ষিপ্ত করে তোলে।
১. ভিন্ন ভিন্ন মান দিয়ে একাধিক ভেরিয়েবল:
আপনি যদি কয়েকটি ভেরিয়েবলে আলাদা আলাদা মান রাখতে চান, তবে কমা (,
) দিয়ে ভেরিয়েবলের নাম এবং মানগুলো লিখতে পারেন।
# পণ্যের নাম, দাম এবং স্টকের পরিমাণ
product_name, cost, stock = "Shampoo", 250.50, 15
print(product_name) # আউটপুট: Shampoo
print(cost) # আউটপুট: 250.50
print(stock) # আউটপুট: 15
এখানে product_name
-এ "Shampoo"
, cost
-এ 250.50
এবং stock
-এ 15
অ্যাসাইন হবে।
২. একই মান দিয়ে একাধিক ভেরিয়েবল:
আপনি যদি কয়েকটি ভেরিয়েবলে একই মান রাখতে চান, তাহলে এভাবে লিখতে পারেন: var_x = var_y = var_z = 100
এর একটি বিশেষত্ব রয়েছে। যখন একাধিক ভেরিয়েবলকে একই মান দেওয়া হয়, তখন পাইথন মেমরিতে কেবল একবারই 100
সংখ্যাটি রাখে এবং var_x
, var_y
, var_z
তিনটি ভেরিয়েবলই ওই একই মেমরি লোকেশনকে রেফার করে।
আমরা id()
ফাংশন ব্যবহার করে যেকোনো ভেরিয়েবলের মেমরি অ্যাড্রেস (একটি ইউনিক আইডি) দেখতে পারি।
# তিনটি ভেরিয়েবলে একই মান অ্যাসাইন করা
var_x = var_y = var_z = 100
# তাদের মেমরি আইডি প্রিন্ট করা
print(id(var_x))
print(id(var_y))
print(id(var_z))
আপনি যদি এই কোডটি চালান, দেখবেন তিনটি লাইনেই একই আইডি নম্বর প্রিন্ট হচ্ছে, যা প্রমাণ করে যে তারা একই মেমরি অ্যাড্রেস ব্যবহার করছে।
উপসংহার
আজ আমরা প্রোগ্রামিং-এর একটি অত্যন্ত গুরুত্বপূর্ণ ধারণা—ভেরিয়েবল—সম্পর্কে শিখলাম। সংক্ষেপে, আমরা যা যা জেনেছি:
- ভেরিয়েবল হলো ডেটা সংরক্ষণের জন্য ব্যবহৃত নামযুক্ত স্থান।
- পাইথনে ডিক্লারেশন এবং ইনিশিয়ালাইজেশন একসাথে করা হয়।
- প্রতিটি ভেরিয়েবল মেমরিতে ডেটার একটি রেফারেন্স হিসেবে কাজ করে।
- আমরা Integer, Float এবং String-এর মতো বিভিন্ন ধরণের ডেটা ভেরিয়েবলে রাখতে পারি।
- একই লাইনে একাধিক ভেরিয়েবল ঘোষণা করা সম্ভব।
এখন আপনার কাজ হলো এই উদাহরণগুলো নিজে চেষ্টা করে দেখা। যত বেশি অনুশীলন করবেন, ধারণাটি তত পরিষ্কার হবে। পরবর্তী পোস্টে আমরা ভেরিয়েবল এবং ডেটা টাইপ নিয়ে আরও গভীরে আলোচনা করব।