পাইথন ভ্যারিয়েবল

লিখেছেন: কাজী মুশফিকুর রহমান || সফটওয়্যার প্রকৌশলী, টেকনিয়াস (সফটওয়্যার নির্মাণ প্রতিষ্ঠান) || তারিখঃ 23 এপ্রি., 2024


পাইথন ভ্যারিয়েবল কে কন্টেইনার বা পাত্র এর সাথে তুলনা করা যায়। পাত্র এর মধ্যে যেমনি মালামাল স্টোর করে রাখা যায়, তেমনি ভ্যারিয়েবল এর মধ্যে ভ্যালু স্টোর করে রাখা যায়। নিচে চিত্রের সাহায্যে ভ্যারিয়েবল দেখানো হলো, যেখানে a একটি ভ্যারিয়েবল, যার মধ্যে ভ্যালু 5 এসাইন করা হয়েছে (স্টোর করে রাখা হয়েছে)। পাত্র রাখতে যেভাবে একটি জায়গা এর প্রয়োজন হয়, একইভাবে এই ভ্যারিয়েবলটি এর জন্য ও মেমরিতে একটি জায়গা এর দরকার হবে, যে প্রক্রিয়া এর মাধ্যমে এই কাজটি সম্পন্ন হয় তাকে মেমরি অ্যালোকেশন বলা হয়।

ভ্যারিয়েবল ব্যবহার করার পূর্বে ডিক্লেয়ার করার প্রয়োজন হয়না এবং তাদের ডাটা টাইপ ও ডিফাইন (উল্লেখ) করা লাগে না। তবে কাস্টিং এর মাধ্যমে তাদের ডাটা টাইপ ডিফাইন করা যেতে পারে। কোনো কমান্ড ছাড়াই এটা ডিক্লেয়ার করা যায়, যখনই ভ্যারিয়েবল এ কোন ভ্যালু এসাইন করা হয়, তখনই এটা ক্রিয়েট (তৈরী) হয় এবং এই কাজটি সম্পন্ন হয় একটি সিঙ্গেল এসাইনমেন্ট অপারেটর (=) এর মাধ্যমে। ভ্যারিয়েবল কেইস সেনসিটিভ, যখন আপনি এটা  কে ছোট হাতের অক্ষরে ডিক্লেয়ার করবেন, তখন বড় হাতের অক্ষরে এক্সেস করতে পারবেন না, বরং আপনাকে হুবহু ছোট হাতের অক্ষরই যথাযথ বানানসহ ব্যবহার করতে হবে, অন্যথায় পাইথন আপনাকে এরর দেখাবে।

পাইথন বিভিন্ন রকমের ভ্যারিয়েবল ব্যবহার হয়। তাদের মধ্যে নাম্বার একটি ভ্যারিয়েবল। এটি আবার ইন্টিজার নাম্বার (পূর্ণ সংখ্যা, যেমন: 1, 2, 3) এবং ফ্লোটিং পয়েন্ট নাম্বার (ভগ্নাংশ, যেমন: 1.1, 2.0, 3.3)  হতে পারে। অনুরূপভাবে স্ট্রিং ও একটি ভ্যারিয়েবল, তবে এ ক্ষেত্রে ভ্যালু এসাইন করতে হয় সিঙ্গেল (‘’) অথবা ডাবল কোটেশন (“”) এর মধ্যে।

নিচে বিভিন্ন রকমের ভ্যারিয়েবল সম্পর্কে সংক্ষেপে আলোচনা করা হলো:

 

নাম্বার (Number)

পাইথন দুই ধরণের নাম্বার সাপোর্ট করে : ইন্টিজার নাম্বার (পূর্ণ সংখ্যা, যেমন: 1, 2, 3) এবং ফ্লোটিং পয়েন্ট নাম্বার (ভগ্নাংশ, যেমন: 1.1, 2.0, 3.3)। এটি কমপ্লেক্স নাম্বার  (complex number) ও সাপোর্ট করে, তবে এখানে আমি এটি নিয়ে আলোচনা করব না।

ইন্টিজার নাম্বার ডিক্লেয়ার করার সিনট্যাক্স:

ভ্যারিয়েবল এর নাম = ভ্যালু

প্রথমে, যেকোনো একটি ভ্যারিয়েবল এর নাম, তারপর ‘=’ চিহ্ন (এসাইনমেন্ট অপারেটর), তারপর ভ্যালু।

কোড:

integer = 2

print (integer)

 

আউটপুট:

2

 

উপরের কোডটি তে integer একটি  ভ্যারিয়েবল,  এর মধ্যে 2 এসাইন করা হয়েছ (যা  একটি পূর্ণ সংখ্যা), এবং 2 হচ্ছে এই ভ্যারিয়েবল এর ভ্যালু।

ভ্যারিয়েবল এর ক্ষেত্রে ইংরেজি যেকোন  অক্ষর ব্যবহার করা যায় (যেমন: a, b, c, d ইত্যাদি)। আপনি চাইলে উপরের ভ্যারিয়েবলটি (integer) কে নিচের মত করে ও ডিক্লেয়ার করতে  পারেন:

 a= 2

অথবা

b = 2

অথবা

c = 2

অথবা

d = 2

উপরের a, b, c, d হলো ভ্যারিয়েবল এবং 2 ((যা  একটি পূর্ণ সংখ্যা) হচ্ছে তাদের ভ্যালু।

 

কোড:

integer = 2

print (Integer)

 

আউটপুট:

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

NameError: name 'Integer' is not defined

 

উপরের কোডটি তে আমরা একটি এরোর দেখতে পাচ্ছি, এর কারণ হলো, পাইথন একটি কেইস সেনসিটিভ ল্যাঙ্গুয়েজ, যেহেতু integer ভ্যারিয়েবল কে আমি  ছোট হাতের অক্ষরে ডিফাইন করেছি, কিন্তু প্রিন্ট করার সময় বড় হাতের অক্ষরে ব্যবহার করেছি, তাই পাইথন একটি এরর মেসেজ (NameError: name 'Integer' is not defined) দিয়েছে যে, Integer ভ্যারিয়েবলটি  ডিফাইন করা হয়নি।

 

ফ্লোটিং পয়েন্ট নাম্বার (ভগ্নাংশ) ডিক্লেয়ার করতে নিচের পদ্ধতি গুলো ব্যবহৃত হয়:

ফ্লোটিং পয়েন্ট নাম্বার ডিক্লেয়ার করার সিনট্যাক্স:

ভ্যারিয়েবল এর নাম = ভ্যালু

প্রথমে, যেকোনো একটি ভ্যারিয়েবল এর নাম, তারপর ‘=’ চিহ্ন (এসাইনমেন্ট অপারেটর), তারপর ভ্যালু।

উল্লেখ্য যে, পাইথন এর ক্ষেত্রে ভ্যারিয়েবল এর টাইপ উল্লেখ (ডিফাইন) করার প্রয়োজন হয় না।

কোড:

floatNumber = 2.0

print(floatNumber)

 

আউটপুট:

2.0

 

উপরের কোডটি তে floatNumber একটি  ভ্যারিয়েবল,  এর মধ্যে 2.0 এসাইন করা হয়েছ (যা  একটি ভগ্নাংশ) এবং 2.0 হচ্ছে এই ভ্যারিয়েবল এর ভ্যালু।

 

আপনি চাইলে উপরের ভ্যারিয়েবলটি (floatNumber) কে নিচের মত করে ও  ডিক্লেয়ার করতে  পারেন:

 a= 2.0

অথবা

b = 2.0

অথবা

c = 2.0

অথবা

d = 2.0

উপরের a, b, c, d হলো ভ্যারিয়েবল এবং 2.0 (যা  একটি ভগ্নাংশ) হচ্ছে তাদের ভ্যালু।

 

float() মেথড ব্যবহার করে ফ্লোটিং পয়েন্ট নাম্বার ডিক্লেয়ার করা:

float(), পাইথন এর একটি বিল্ট ইন ফাংশন, এটি ইন্টিজার নাম্বার কে ফ্লোটিং পয়েন্ট নাম্বার এ কনভার্ট করে। আপনি যদি এ  ফাংশন এর মধ্যে (প্যারামিটার হিসেবে)  পূর্ণ সংখ্যা  দেন, তাহলে এটি আপনাকে ভগ্নাংশ রিটার্ন করবে।

 

কোড:

floatNumber = float(2)

print(floatNumber)

 

আউটপুট:

2.0

 

উপরের কোডটি তে float() ফাংশন এর মধ্যে একটি  পূর্ণ সংখ্যা (2) দেয়া হয়েছে, কিন্তু এটি এই পূর্ণ সংখ্যা কে ভগ্নাংশে (2.0) কনভার্ট করেছে।

 

স্ট্রিং

কোনো ব্যক্তির নাম কে সিঙ্গেল কোটেশন (‘’) অথবা ডাবল কোটেশন (‘’) এর মধ্যে রাখলেই সেটি স্ট্রিং হয়ে যায়। যেমন: আমার নাম Mushfiq কে name নামক ভ্যারিয়েবল  এর মধ্যে এসাইন করলাম, সুতরাং এটি একটি স্ট্রিং হয়ে গেল। কোড টি রান করলে নিচের মত আউটপুট দিবে।

সিঙ্গেল কোটেশন (‘’) ব্যবহার করে স্ট্রিং:

কোড:

name = 'Mushfiq

print(name)

 

আউটপুট:

Mushfiq

 

উপরের কোডটি তে  Mushfiq একটি স্ট্রিং যেটি name নামক ভ্যারিয়েবল  এর মধ্যে স্টোর হয়ে আছে।

 

# অথবা, ডাবল কোটেশন (‘’) ব্যবহার করে স্ট্রিং:

কোড:

name = “Mushfiq”

print(name)

 

আউটপুট:

Mushfiq

 

উপরের দুইটি কোড একই আউটপুট দেয়।