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

ভ্যারিয়েবল

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

 

ডেটা টাইপ

পাইথনে ভ্যারিয়েবল ব্যবহার করার পূর্বে তা ডিক্লেয়ার করতে হয় না বা ভ্যারিয়বলের টাইপ বলে দিতে হয় না। আমরা জেনেছি পাইথন অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাগুয়েজ। এর প্রত্যেকটা ভ্যারিয়েবলই হচ্ছে এক একটা অবজেক্ট।

মেমরিতে আমরা যে ডেটা রাখব, তা অনেক ধরণের হতে পারে। যেমন যে কোন নাম্বার, বিভিন্ন লিস্ট, যে কোন টেক্সট ইত্যাদি। পাইথনে পাঁচটি স্ট্যান্ডার্ড ডেটা টাইপ রয়েছে। সেগুলো হচ্ছেঃ

  1. Number
  2. String
  3. List
  4. Tuple
  5. Dictionary

 

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

পাইথন statically typed ল্যাঙ্গুয়েজ না। statically typed ল্যাঙ্গুয়েজ গুলোতে ভ্যারিয়েবল তৈরির সময় কোন টাইপের ডেটা রাখব ঐ ভ্যারিয়েবলে, তা বলে দিতে হয়। পাইথনে সেভাবে বলে দিতে হয় না। আমরা পাইথনে কোন ভ্যারিয়েবলে ডেটা এসাইন করলে তা অটোমেটিক ডেটা টাইপ সেট করে নেয়।

কোন ভ্যারিয়েবলে ভ্যালু এসাইন করতে = চিহ্ন ব্যবহার করা হয়। যেমন:

name = “Guido van Rossum”

এখানে name একটি ভ্যারিয়েবল, যেটাতে আমরা একটা নাম রেখেছি। যেটা একটা স্ট্রিং ভ্যারিয়েবল।

number = 911

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

pi = 3.1416

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

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

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

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।

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

নাম্বারঃ

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

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

myInt = 10

 

 

উপরে আমরা myInt নামক একটা ভ্যারিয়েবল নিয়েছি এবং যার মধ্যে 10 রেখেছি। ভ্যারিয়েবলে কোন মান/ভ্যালু/ডেটা রাখাকে বলে এসাইন/Asign করা।

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

myFloat = 10.6

বাঃ

myFloat = float(10)

print(myFloat)

আমরা যদি একটা ইন্টিজার ভ্যারিয়েবলের মান পরিবর্তন করে তাতে একটা ফ্লোটিং পয়েন্ট / দশমিক ভ্যালু রাখি, তাহলে তা অটোমেটিকেলি ফ্লোটিং পয়েন্ট ভ্যারিয়েবলে কনভার্ট হয়ে যাবে। যেমন

 

myInt = 10.6

 

পাইথনে সবকিছুই হচ্ছে অবজেক্ট। ভ্যারিয়েবল, ফাংশন এমনকি কোড ও। আর এক একটা অবজেক্ট এর একটা ID থাকে, ইউনিক আইডি, টাইপ এবং ভ্যালু।

আইডি যেহেতু ইউনিক, তা পরিবর্তন করা যায় না। টাইপটাও ইউনিক। টাইপ হচ্ছে অবজেক্ট এ ক্লাস। অবজেক্ট দুই প্রকার। একটা হচ্ছে Mutable অবজেক্ট। আরকটা Immutable অবজেক্ট। মিউট্যাবল অবজেক্ট এর ভ্যালু পরিবর্তন করা যায়। ইমিউট্যাবল অবজেক্ট এর ভ্যালু পরিবর্তন করা যায় না।

যেমন আমরা যদি myInt এর আইডি পেতে চাই, তাহলে লিখবঃ

 

myInt = 10

print(myInt)

print id(myInt)

 

যা আউটপুট দিবেঃ

10

140641000531104

 

যেমন আমরা যদি myInt এর টাইপ পেতে চাই, তাহলে লিখবঃ

 

myInt = 10

print(myInt)

print type(myInt)

 

যা আউটপুট দিবেঃ

10

<type ‘int’>

 

আমরা যদি myInt এর ভ্যালু পরিবর্তন করে একটা ফ্লোটিং পয়েন্ট নাম্বার দিয়ে দেই, তাহলে এটার টাইপ পরিবর্তন হয়ে যাবেঃ

 

myInt = 10.6

print(myInt)

print type(myInt)

 

যা আউটপুট দিবেঃ

10.6

<type ‘float’>

 

আমরা দেখলাম যে টাইপ পরিবর্তন হয়ে গেছে।

একটু খানি গণিতঃ

নাম্বার সম্পর্কে জানলাম। এগুলো সহজেই কিভাবে প্রোগ্রামে কাজে লাগানো যা, তা আমরা ছোট খাটো অংক করে দেখতে পারি। পাইথনে সহজেই আমরা যোগ, বিয়োগ, গুণ, ভাগ করে ফেলতে পারি।

যোগঃ

value1 = 50
value2 = 11
result = value1 + value2

print(result)

বিয়োগঃ

value1 = 50
value2 = 11
value3 = value1 - value2

print(value3)

বা এভাবেঃ

value3 = 50 - 11
print value3

গুনঃ

value1 = 50
value2 = 11
value3 = value1 * value2
print(value3)

ভাগঃ

value1 = 50
value2 = 11
value3 = value1 / value2
print(value3)

রিমাইন্ডার / ভাগশেষঃ

যোগ, বিয়োগ, গুণ, ভাগ চিহ্ন গুলোর সাথে আমরা আগেই পরিচিত। আরকেটা চিহ্ন এর সাথে পরিচিত হব, আর তা হচ্ছেঃ %

আমরা একে পার্সেন্ট চিহ্ন হিসেবে জানতাম। প্রোগ্রামিং এ এর কাজ হচ্ছে ভাগ শেষ বের করা। যেমনঃ

value1 = 50
value2 = 11
value3 = value1 % value2
print(value3)

যা আউটপুট দিবে 6

এবার নিজের মত করে কিছু সংখ্যা নিয়ে অঙ্ক করা যেতে পারে। ঠিক মত আউটপুট দেয় কিনা, তা দেখা যেতে পারে।

String / স্ট্রিং

যে কোন লেখা, ওয়ার্ডই হচ্ছে এক একটা String. যেমনঃ

myString = “Hello world!"
print myString

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

myString = ‘Hello world!'
print myString

সিঙ্গেল কোটেশনের ভেতরে লিখলে একটা সমস্যা হয়ে যাবে, আমরা এপস্ট্রপস / apostriphes লিখতে পারব না।

যেমন নিচের কোড টুকু লিখলে প্রোগ্রামে ভুল দেখাবেঃ

myString = ‘It’s Friday, YaY'
print myString

রান হচ্ছে না, তাই না? এ জন্যই আমরা স্ট্রিং গুলকে ডাবল কোটের মধ্যে লিখব।

আমরা 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

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

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

Leave a Reply