DEV Community

Cover image for Data Types Part-05
Monirul Islam
Monirul Islam

Posted on

Data Types Part-05

আমি নতুন প্রোগ্রামিং শিখছি নতুন নতুন কফি খেতে ভাল লাগছে না। বোরিং। তাই ভাবলাম নতুন কিছু ট্রাই করা দরকার। কফির একমাত্র অলটারনেটিভ হচ্ছে চা। কিছুক্ষন খোজা খুজির পড় বুঝতে পারলাম চা তৈরির জন্য প্রয়োজনীয় জিনিস পত্র আমার কাছে নেই। তাহলে কি করা যায়। একটাই অপশন চা।

এখন আমি চায়ের দোকানের উদ্দেশ্যে হাটছি। কিছুদুর যেতেই আমার দুইজন বন্ধুর সাথে দেখা। তাদের ভিতর একজন জিজ্ঞাসা করল,

“কোথায় যাচ্ছিস?”

“চা খেতে যাচ্ছি।”

“তাই নাকি।”

“তোরা যাবি ? ”

“হ্যা চল আমরাও যাব।”

৩ জন মিলে চা খেলাম (পান করলাম আরকি)। সাথে বিস্কুট । চা খাওয়া শেষ এবার বিল দেওয়ার পালা। এবার আমি আমার বন্ধুদের কাছে টাকা চাইলাম। একজন বলে উঠল

“তুই তো কম্পিউটার ইঞ্জিনিয়ার। তুই তো শালা বড়লোক”

বড় লোক কথাটা শোনার পর আমি একটু হাসলাম।

“বিল তুই দিবি। আর আমরা তো তোর সাথে এসেছি। বিল টা দেওয়া তোর নৈতিক দায়িত্ব”

“আচ্ছা ঠিক আছে। আমিই বিল দিচ্ছি”

আমি ভালো করেই জানি ওদের সাথে আমি কোন দিন পারবেন না।

দোকানদার মামার কাছে চায়ের বিল জানতে চাইলে, উনি কিছুক্ষন একটু ভাবলেন। মনে মনে হিসাব করছেন। কিছুক্ষন পর বললেন।আমি বিল মিটিয়ে চলে আসলাম। নিজের এনার্জি ফেরত পেয়েছি। সেই জন্য ভাবলাম প্রোগ্রামিং নিয়ে কিছু শেখা দরকার। কিছুক্ষন ঘাটাঘাটি করার পর আমি সিদ্ধান্ত নিলাম , Python এর ডাটা টাইপ শিখব। অনলাইন থেকে ২-৩ টা ব্লগ ওপেন করে তার ভিতর থেকে একটা সিলেক্ট করে পড়া শুরু করলাম। প্রথম দিকে কিছুই বুঝতে না পরলেও আস্তে আস্তে আমার মাথায় কিছু যাওয়া শুরু করল। কিছুক্ষন আমি বলেই উঠলাম

“এগুলো তো আমি জানি। এই জিনিস আমি তো আমি প্রতিদিন ব্যবহার করি”।

সম্পূর্ন ব্লগ টা পড়ার পর মনে হল এই জিনিস গুলো নোট করে রাখা উচিত। তাই প্রয়োজনীয় জিনিস গুলো নোট করে ঘড়ির দিকে দেখলাম। হাতে কিছু সময় আছে । তাই ফেসবুক যাওয়ার সিন্ধান্ত নিলাম।ফেসবুক ওপেন করেই দেখি আপনার মেসেজ । আপনি সমস্যায় পড়েছেন, ডাটা টাইপ মাথায় ঢুকছে না। সময় যেহেতু আছে আসুন আপনাকে ডাটা টাইপ শেখায়।

ডাটা টাইপ কি সেটা তো জানেন? জানেন না। ডাটা টাইপ হলো ডাটার ধরন। ডাটা কি ধরনের হবে সেটা। ছোট ক্লাসে অংক করেছেন তখন দুই ধরনে সংখ্যা ছিল । পূর্নসংখ্যা এবং ভগ্নাংশ। দুই টা কিন্তু ২ ধরনের সংখ্যা। পূর্নসংখ্যা এবং ভগ্নাংশ হল আলাদা দুইটা ডাটা টাইপ।

ডাটা টাইপ মূলত ২ ধরনের হয়ে থাকে।

  • প্রেমিটিভ
  • নন-প্রেমিটিভ।

প্রিমিটিভ ডাটা টাইপ হল ও ওই সকল ডাটা টাইপ যেগুলো অলরেডি বিদ্যমান।

  • Integer (পূর্ণসংখ্যা)
  • Float (দশমিক যুক্ত নাম্বার)
  • Boolean ( True/False)
  • String (Text)

নন-প্রিমিটিভ ডাটা টাইপ হল ও ওই সকল ডাটা টাইপ অলরেডি বিদ্যমান ডাটা টাইপ ব্যবহার করে নতুন ডাটা টাইপ তৈরি করা হয়।

  • List
  • Tuple
  • Dictionary etc.

আপনার মনে একটা প্রশ্ন আসতে পারে ডাটা টাইপ শেখার কি কোন দরকার আছে?

অবশ্যই আছে। আমরা ভাল করে জানি কম্পিউটার নিজের মত করে কাজ করার কোন ক্ষমতা নেই। তাকে আমরা যেমন নির্দেশনা দেব তেমন ভাবে কাজ করবে। এখন মনে করুন আপনার ২ টা সংখ্যা যোগ করতে হবে। আপনি কম্পিউটার কে বলে দিলেন না সংখ্যা দুইটি কোন ধরনের। কিছুক্ষন পর রেজাল্ট আসল যেটা ভুল। এখানে সমস্যা টা কোথায়?

সমস্যা টা হলে কম্পিউটার তো জানে না সংখ্যা দুইটি কোন ধরনের । এখন সে নিজের মত করে একটা ধরে নিয়ে ফলাফল দিবে। যা বেশির ভাগ সময় ভুল দেখাবে।

বিঃদ্রঃ পাইথনে আলদা ভাবে ডাটা টাইপ বলে দেওয়ার প্রয়োজন হয় না। পাইথনের কম্পাইলার অটোমেটিক ডাটা টাইপ সিলেক্ট করে নেই।

Integer

Integer এর বাংলা অর্থ হল পূর্ণসংখ্যা। অর্থ্যাত ০, ১,২ থেকে শুরু করে তার পরবর্তী এবং পূর্ববর্তী সকল সংখ্যাই পর্ণসংখ্যা।

উপরোক্ত সমস্যার ক্ষেত্রে যদি আপনি সংখ্যার ক্ষেত্রে Integer বলে দেন তাহলে কম্পিউটার integer যেভাবে কাজ করে বা যোগ করতে হয় সেভাবে যোগ করে ফলাফল দেখাবে।

এখন বলুন তো আমি যে বিল টা চায়ের দোকানদার কে দিলাম সেটা কোন ডাটা টাইপ?

নিচের কোড টা রান করুন

intVar = 10
print(type(intVar))
Enter fullscreen mode Exit fullscreen mode

Output নিচের মত আসবে।

<class 'int'>
Enter fullscreen mode Exit fullscreen mode

Integer এর short form হল int.

Float

এবার আসি float এ। Float শব্দের বাংলা অর্থ কি বলুন তো? যদি জানেন তাহলে তো ভাল । না হলে google Translate তো আছে।

যাই হোক, আপনি দশমিক নাম্বার তো বুঝেন। ২০ দশমিক ৫ (২০.৫) , ২৭ দশমিক ৯(২৭.৯)। ইংরেজি টে বলতে চাইলে , 20 point 5(20.5), 27 point 9(27.9)। এবার আপনার বলুন তো আপনার SSC এর রেসাল্ট কত?

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

নিচের কোড টা রান করুন

intVar = 20.5
print(type(intVar))
Enter fullscreen mode Exit fullscreen mode

Output নিচের মত আসবে।

<class 'float'>
Enter fullscreen mode Exit fullscreen mode

String

এখন আমি যদি আপনার নাম জিজ্ঞাসা করি আপনি বলবেন “আমার নাম পাইথন”। এখন আপনার কাজ হচ্ছে এই লেখা টা কম্পিউটারে সেভ করতে হবে। কম্পিউটারে কিভাবে সেভ করবেন। কম্পিউটার কে তো বলে দিতে হবে। এটা কি?

যখন ‘’ বা “” এর মধ্য যখন কোন কিছু রাখা হয় তখন তাকে String বলা হয়।

নিচের কোড টা রান করুন

name = 'I am Python'
print(type(name))
Enter fullscreen mode Exit fullscreen mode

Output নিচের মত আসবে।

<class 'str'>
Enter fullscreen mode Exit fullscreen mode

str হল string সর্ট ফর্ম।

Boolean

এখন আমি যদি আপনাকে জিজ্ঞাসা করি,

আপনি কি সকাল সকাল ঘুম থেকে উঠেন ? অথবা

আপনি কি প্রতিদিন সকালে গোসল করে কাজে যান?

আপনি কি রাতে ঘুমানোর আগে বাইরে হাটতে যান ?

আপনি কি রাতে ঘুমানোর আগে বই পড়েন?

প্রশ্ন গুলো একটু এনালাইসিস করুন। কিছু পেলেন?

এখানে যত গুলো প্রশ্ন আছে, সব গুলোর উত্তর হ্যা অথবা না দিয়ে দিতে হবে। বুলিয়ান ডাটা টাইপ ঠিক একই ধরনের হয় হ্যা হবে নতুন না হবে। হ্যা বলতে True এবং না বলতে False কে বোঝায়।

নিচের কোড টা রান করুন

boolValue1 = True
boolValue2 = False
print(type(boolValue1))
print(type(boolValue2))
Enter fullscreen mode Exit fullscreen mode

Output নিচের মত আসবে।

<class 'bool'>
<class 'bool'>
Enter fullscreen mode Exit fullscreen mode

bool হল Boolean সর্ট ফর্ম।

কিছু মনে পড়েছে? আমিও কিন্তু বুলিয়ান এর ব্যবহার করেছি। কোথায় বলুন তো?

নন-প্রমিটিভ ডাটা টাইপ (list, tuple , set , dictionary) এর নিয়ে আলোচনার জন্য সামনের ব্লগ এ হবে। সাথে থাকার জন্য ধন্যবাদ

প্রশ্নের উত্তর গুলো জানাতে ভুলবেন না।

Top comments (0)