পাইথন – ডেটা টাইপ, ভ্যারিয়েবল

ভ্যারিয়েবল

কোন ডেটার জন্য মেমরি লোকেশন বরাদ্ধ করার জন্য ভ্যারিয়েবল ব্যবহার করা হয়। এর মানে হচ্ছে আমরা যখন কোন ভ্যারিয়েবল তৈরি করি, তখন আমরা ঐ ভ্যারিয়েবলের জন্য মেমরিতে কিছু জায়গা সংরক্ষণ করে রাখি। এ ডেটা হতে পারে নিউম্যারিক (1,2,3..) যে কোন সংখ্যা অথবা ক্যারেক্টার, (a,b,c…Z) ইত্যাদি। যেমনঃ

x = 5 
y = ‘Python’
Z = 1.618

এখানে x, y, z তিনটাই এক একটা ভ্যারিয়েবল।

ডেটা টাইপ

ভ্যারিয়েবলে যে ধরনের ডেটা রাখব তাই হচ্ছে ডেটা টাইপ। ডেটা অনেক ধরণের হতে পারে। যেমন যে কোন নাম্বার, বিভিন্ন লিস্ট, যে কোন টেক্সট ইত্যাদি। পাইথনে পাঁচটি স্ট্যান্ডার্ড ডেটা টাইপ রয়েছে। সেগুলো হচ্ছেঃ
নাম্বার (Number)
স্ট্রিং (String)
লিস্ট (List)
টাপল (Tuple)
ডিকশনারি (Dictionary)

ভ্যারিয়েবলে ডেটা এসাইন করা

পাইথন Statically Typed ল্যাঙ্গুয়েজ না। স্ট্যাটিক্যালি টাইপড ল্যাঙ্গুয়েজ গুলোতে ভ্যারিয়েবল তৈরির সময় কোন টাইপের ডেটা রাখব ঐ ভ্যারিয়েবলে, তা বলে দিতে হয়। পাইথনে সেভাবে বলে দিতে হয় না। শুধু ভ্যারিয়েবলের একটা নাম দিয়ে আমরা যে কোন ডেটা এসাইন করে দিতে পারি। পাইথনে কোন ভ্যারিয়েবলে ডেটা এসাইন করলে তা অটোমেটিক ডেটা টাইপ সেট করে নেয়।
কোন ভ্যারিয়েবলে ডেটা এসাইন করতে সমান (=) চিহ্ন ব্যবহার করা হয়। যেমন:

name = “Guido van Rossum” 

এখানে name একটি ভ্যারিয়েবল, যেটাতে আমরা একটা নাম রেখেছি। যেটা একটা স্ট্রিং ভ্যারিয়েবল। আমরা পাইথন প্রোগ্রামিং সম্পর্কে জানার চেষ্টা করছি। কিন্তু জানি কে পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজটি তৈরি করেছেন? গুইডো ভ্যান রস্যিউম (Guido van Rossum) পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজটি তৈরি করেন এবং ১৯৯১ সালে উন্মুক্ত করেন।
আরেকটা ভ্যারিয়েবল দেখিঃ

number = 911

এখানে নাম্বার নামে একটা ভ্যারিয়েবল নিয়েছি এবং এর মধ্যে 911 রেখেছি, যা একটি ইন্টিজার ভ্যালু। তাই number হচ্ছে একটি ইন্টিজার ভ্যারিয়েবল। একই ভাবে

pi = 3.1416

এখানে pi হচ্ছে একটা ফ্লোটিং পয়েন্ট ভ্যারিয়েবল। কারণ এখানে আমরা একটা দশমিক সংখ্যা রেখেছি।

কোন ভ্যারিয়েবলের টাইপ আমরা সহজেই বের করতে পারি। তার জন্য type() লিখে তার মধ্যে ভ্যারিয়েবলটির নাম পাস করলে আমাদের ঐ ভ্যারিয়েবলটির টাইপ রিটার্ণ করবে। এরপর চাইলে তা প্রিন্ট করে দেখতে পারি। যেমনঃ

pi = 3.1416 
print(type(pi))

যা প্রিন্ট করবে <class ‘float’>

মাল্টিপল এসাইনমেন্ট

পাইথনে আমরা চাইলে এক সাথে একের অধিক ভ্যারিয়েবলে একই ডেটা রাখতে পারি। যেমনঃ

ovi, niloy, asif = 3.99

যেখানে ovi, niloy, asif নামক তিনটি ভ্যারিয়েবলে প্রতিটাতে 3.99 ভ্যালুটি জমা হবে।
আমরা চাইলে একই সাথে একাধিক ভ্যারিয়েবলে একাধিক মান এক সাথে রাখতে পারি। যেমনঃ

pi, name, number = 3.1416, “Guido van Rossum”, 999

যেখানে আমরা তিনটি ভ্যারিয়েবলে এক সাথে তিনটি আলাদা আলাদা মান রেখেছি। যেখানে pi = 3.1416, name = “Guido van Rossum” এবং number = 999 জমা হবে।

ভ্যারিয়েবল, ডেটা টাইপ এবং কিভাবে কোন ভ্যারিয়েবলে কোন ডেটা রাখা যায়, তা আমরা দেখেছি। এখন জানব বিভিন্ন ডেটা টাইপ সম্পর্কে।

নাম্বার

পাইথন তিন ধরনের নাম্বার সাপোর্ট করে, ইন্টিজার, ফ্লোটিং পয়েন্ট এবং কমপ্লেক্স নাম্বার।

ইন্টিজার

ইন্টিজার ব্যবহার করার জন্যঃ

x = 10

উপরে আমরা x নামক একটা ভ্যারিয়েবল নিয়েছি এবং যার মধ্যে 10 রেখেছি। ভ্যারিয়েবলে কোন ডেটা রাখাকে বলে এসাইন (assign) করা।

ফ্লোটিং পয়েন্ট

ফ্লোটিং পয়েন্ট ব্যবহার করার জন্যঃ

g = 9.8

কমপ্লেক্স নাম্বার

কমপ্লেক্স নাম্বার আমরা এভাবে ব্যবহার করতে পারিঃ

z = 10j

এখানে কোনটা কোন টাইপ, তা আমরা বের করতে পারি এভাবেঃ

x = 10
g = 9.8
z = 10j

print(type(x))
print(type(g))
print(type(z))

যা রান করলে আমরা পাবোঃ

<class 'int'>
<class 'float'>
<class 'complex'>

স্ট্রিং

পাইথনে সবচেয়ে জনপ্রিয় টাইপ হচ্ছে স্ট্রিং (String)। যে কোন লেখা এবং ওয়ার্ড ই হচ্ছে এক একটা String। ডাবল কোটেশন বা সিঙ্গেল কোটেশনের মধ্যে কোন কিছু লিখলে পাইথন তা স্ট্রিং হিসেবে গণ্য করবে। যেমনঃ

my_string = “Now is better than never."
print (my_string)

এটা একটা স্ট্রিং। স্ট্রিং আমরা ডাবল কোটেশন বা সিঙ্গেল কোটেশনের ভেতর লিখতে পারি। উপরে লিখেছি ডাবল কোটেশনে। কিন্তু নিচের মত করেও লিখতে পারি আমরা

my_string = ‘Now is better than never.'
print (my_string)

সিঙ্গেল কোটেশনের ভেতরে লিখলে একটা সমস্যা হয়ে যাবে। স্ট্রিং এর মধ্যে আমরা এপস্ট্রপস ( apostrophes) লিখতে পারব না।
যেমন নিচের কোড টুকু লিখলে কিছু কিছু ইন্ট্রাপ্রেটারে ভুল দেখাবেঃ

my_string = 'It’s Friday, YaY'
print (my_string)

এ জন্যই আমরা স্ট্রিং গুলকে ডাবল কোটের মধ্যে লিখব।
আমরা name বলতে একটা ভ্যারিয়েবল নিব। যার মধ্যে কেউ একজনের নাম লিখব। তারপর প্রোগ্রামকে বলব যার নাম লিখছি, তাকে হ্যালো জানাতে। যেমন একজনের নাম Nahid. প্রোগ্রাম প্রিন্ট করবেঃ Hello Nahid। প্রোগ্রামটি লিখব এভাবেঃ

name = “Nahid"
print “Hello “ + name

উপরে মূলত আমরা দুইটা স্ট্রিং এক সাথে প্রিন্ট করেছি। Hello এবং Nahid। আর দুই বা ততোধিক স্ট্রিং একসাথ করাকে বলে স্ট্রিং কনক্যাটিনেশন (String Concatinaion) বা স্ট্রিং জোড়া দেওয়া। দুইটা স্ট্রিং জোড়া দেওয়ার জন্য ব্যবহার করা হয় + চিহ্ন। আরেকটা উদারহণঃ

print “Hello “ + “ World"

এখানে Hello এবং World দুইটা আলাদা স্ট্রিং, আমরা যোগ করে প্রিন্ট করেছি। এভাবেও করা যায়।

string1 = "Hello "
string2 ="World!"
print string1 + string2

স্ট্রিং নিয়ে আরো অনেক কাজ করা যায়। প্রোগ্রামিং বা রিয়েল লাইফ প্রজেক্টে স্ট্রিং নিয়ে অনেক কাজ করতে হয়। স্ট্রিং নিয়ে একটা পুরো অধ্যায় আছে। স্ট্রিং অধ্যায় বিস্তারিত জানা যাবে। সামনের অধ্যায় গুলোতে অন্যান্য ডেটা টাইপ সম্পর্কে জানব।

কাস্টিং

এক টাইপের ডেটা অন্য টাইপে পরিবর্তন করাকে বলে কাস্টিং। যেমনঃ

g = 9.8
y = float(11)
print(y)
print(type(g))
print(type(y))

উপরের প্রোগ্রাম রান করলে আউটপুট দিবেঃ

11.0
<class 'float'>
<class 'float'>

প্রথমে g = 9.8 দিয়ে ভ্যারিয়েবলে একটা দশমিক সংখ্যা রেখেছি। যা স্বাভাবিক ভাবেই একটা ফ্লোটিং পয়েন্ট ডেটা টাইপে সংরক্ষিত হবে। দ্বিতীয় ক্ষেত্রে y = float(11) দিয়ে একটা পূর্ণসংখ্যা একটা ভ্যারিয়েবলে রেখেছি। স্বাভাবিক ভাবে তা একটা ইন্টিজার ডেটা টাইপ ভ্যারিয়েবল হিসেবে সংরক্ষিত হওয়ার কথা ছিল। কিন্তু আমর float দিয়ে বলে দিয়েছি যেন এই পূর্ণসংখ্যাকে ফ্লোটিং পয়েন্ট হিসেবে সংরক্ষিত করে। যাকে বলে কাস্টিং (casting)। যেখানে আমরা একটা ইন্টিজারকে ফ্লোটিং পয়েন্টে কাস্ট করেছি।

9 thoughts on “পাইথন – ডেটা টাইপ, ভ্যারিয়েবল”

Leave a Reply