কম্পিউটার টিউটোরিয়াল

পাইথন ডেটা টাইপ: একটি পূর্ণাঙ্গ গাইড

পাইথনে ডেটা টাইপগুলো হলো পাইথন ডেটা সংরক্ষণ করে যে বিভিন্ন ফরম্যাটগুলো। কিছু পাইথন ডেটা টাইপ হলো টাপল (tuples), ফ্লোট (floats), স্ট্রিং (strings), এবং লিস্ট (lists)। প্রতিটি ডেটা টাইপের নিজস্ব নিয়ম এবং ব্যবহার রয়েছে এবং সেগুলো ভিন্ন ধরনের ডেটা সংরক্ষণ করতে পারে।


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

পাইথনে অনেক বিল্ট-ইন ডেটা টাইপ রয়েছে যা ডেটা সংরক্ষণের জন্য ব্যবহার করা যেতে পারে। এই টিউটোরিয়ালে, আমরা পাইথনে সবচেয়ে কমনলি ব্যবহৃত ডেটা টাইপগুলো এক্সপ্লোর করব।

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

স্ট্রিংস (Strings)

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

পাইথনে একটি স্ট্রিং-এর উদাহরণ:

'This is an example string!'

যেকোনো ডেটা টাইপের মতো, পাইথন স্ট্রিংস একটি ভেরিয়েবলে অ্যাসাইন করা যায়। এটি উপকারী যদি আমরা আমাদের ডেটা ভবিষ্যতে আমাদের প্রোগ্রামে ব্যবহার করার জন্য সংরক্ষণ করতে চাই। একটি পাইথন ভেরিয়েবলের উদাহরণ যাতে একটি স্ট্রিং রয়েছে:

example_string = 'This is an example string!'

স্ট্রিংস পাইথনে টেক্সট ভ্যালু সংরক্ষণের জন্য ব্যবহৃত হয়। স্ট্রিং ডেটা টাইপ আরও অনেক অপারেশন ফিচার করে যা আমাদের টেক্সট ম্যানিপুলেট করতে ব্যবহার করা যায়, যেমন স্ট্রিং কনক্যাটেনেশন (concatenation) এবং স্ট্রিং স্প্লিটস (splits) এবং জয়েনস (joins)।

নম্বর (Numbers)

পাইথনে দুটি ডেটা টাইপ রয়েছে যা সংখ্যা রিপ্রেজেন্ট করতে ব্যবহার করা যায়: ইন্টিজার (integers) এবং ফ্লোট (floats)। ইন্টিজার হলো ডেসিমাল ছাড়া পাইথন নম্বর, যাতে ফ্লোট হলো ডেসিমালসহ কমপ্লেক্স নম্বর।

যখন আপনি পাইথনে একটি নম্বর এন্টার করেন, এটি অটোমেটিক্যালি সেটিকে সঠিক ডেটা টাইপে অ্যাসাইন করে।

ইন্টিজারস (Integers)

ইন্টিজার হলো হোল নম্বর যেগুলো যেকোনো পজিটিভ বা 네가টিভ মান অ্যাসাইন করা যায়। পাইথনে ইন্টিজারসকে সাধারণত int বলা হয়, এবং বড় নম্বরের মধ্যে কমা থাকে না।

পাইথনে একটি ইন্টিজার-এর উদাহরণ:

print(5)

আমাদের প্রোগ্রাম রিটার্ন করে: 5।

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

example_addition = 10 + 10 print(example_addition)

আমাদের প্রোগ্রাম রিটার্ন করে: 20।

ফ্লোটস (Floats)

ফ্লোটস, বা ফ্লোটিং-পয়েন্ট নম্বর, হলো রিয়াল নম্বর। এর মানে সেগুলো ডেসিমাল এবং ফ্র্যাকশনাল ভ্যালু সংরক্ষণ করতে পারে, ইন্টিজারসের বিপরীতে। সহজ কথায়, ফ্লোটস ব্যবহার করা যায় ডেসিমাল পয়েন্ট ধারণকারী নম্বর সংরক্ষণের জন্য।

পাইথনে একটি ফ্লোট-এর উদাহরণ:

print(2.5)

আমাদের কোড রিটার্ন করে: 2.5।

ইন্টিজারসের মতো, আমরা আমাদের ইন্টিজারগুলোর ওপর ম্যাথেমেটিক্যাল ক্যালকুলেশন রান করতে পারি। তাই, যদি আমরা দুটি ডেসিমাল নম্বর যোগ করতে চাই, তবে আমরা নিচের কোড ব্যবহার করে এটি করতে পারি:

example_decimal_addition = 10.9 + 22.2

আমাদের কোড রিটার্ন করে: 33.1।

বুলিয়ান (Boolean)

বুলিয়ান দুটি ভ্যালুর যেকোনো একটি রাখতে ডেটা সংরক্ষণের জন্য ব্যবহার করা যায়। বুলিয়ান ডেটা টাইপ হয় True বা False ভ্যালু অ্যাসাইন করা যায় এবং সেসব পরিস্থিতিতে ব্যবহৃত হয় যেখানে কিছু শুধু দুটি স্টেটের একটিতে থাকতে পারে।

পাইথনে একটি বুলিয়ান-এর উদাহরণ:

example_boolean = True

লক্ষ্য করুন আমাদের বুলিয়ান ভ্যালু True ক্যাপিটালাইজড। এটা কারণ True এবং False পাইথনে স্পেশাল ভ্যালু, এবং তাই আপনি যখনই এগুলো ব্যবহার করবেন, আপনাকে ক্যাপিটাল লেটার ব্যবহার করা উচিত।

বুলিয়ান গুরুত্বপূর্ণ কারণ এগুলো আমাদের একটি প্রোগ্রামে কোনো শর্ত পূরণ হয়েছে কিনা সেটি ইভ্যালুয়েট করতে দেয়। উদাহরণস্বরূপ, বলুন আপনি একটি শিক্ষক যিনি দুজন ছাত্রের মধ্যে কে হাইএস্ট গ্রেড পেয়েছে সেটি বের করতে চান। আপনি নিচের স্টেটমেন্টটি ব্যবহার করে সেই অ্যাকশন পারফর্ম করতে পারেন:

alex = 9 sophie = 10 highest_grade = alex > sophie print(highest_grade)

আমাদের কোড রিটার্ন করে: False।

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

বুলিয়ান প্রায়শই ভ্যালু তুলনা করার স্টেটমেন্টে ব্যবহৃত হয়। উদাহরণস্বরূপ, আপনি যদি জানতে চান কোনো ভ্যালু অন্য একটি ভ্যালু থেকে কম, বেশি, বা সমান কিনা, তবে আপনি ভ্যালুগুলো ইভ্যালুয়েট করতে পারেন এবং রেসপন্সটি একটি বুলিয়ানে সংরক্ষণ করতে পারেন।

লিস্টস (Lists)

লিস্টস হলো এলিমেন্ট বা items এর একটি অর্ডার্ড সিকোয়েন্স। লিস্টস মিউটেবল (mutable) হবে, অর্থাৎ সেগুলো পরিবর্তন করা যায়। পাইথনে, লিস্টস একটি কমা-সেপারেটেড ভ্যালুর সেটকে স্কোয়ার ব্র্যাকেটের ভিতরে এনক্লোজ করে ডিফাইন করা হয়।

পাইথনে ছাত্রদের নামের একটি লিস্ট-এর উদাহরণ:

students = ['Dale', 'Chloe', 'Alice', 'Jim']

লিস্টস যেকোনো ডেটা টাইপ সংরক্ষণ করতে পারে। সুতরাং, আপনি যদি বুলিয়ান বা ফ্লোটের একটি লিস্ট সংরক্ষণ করতে চান, তবে আপনি স্কোয়ার ব্র্যাকেটের ভিতরে এনক্লোজ করে এটি করতে পারেন। একটি ইন্টিজার লিস্ট-এর উদাহরণ:

student_grades = [25, 28, 22, 24]

লিস্টস একটি উপকারী ডেটা টাইপ কারণ এগুলো আপনাকে একটি ভেরিয়েবলে ভ্যালুর সিকোয়েন্স সংরক্ষণ করতে দেয়। সুতরাং, আপনাকে আলাদা আলাদা ভেরিয়েবল ডিক্লেয়ার করতে হবে না ভিন্ন ভিন্ন ভ্যালু সংরক্ষণের জন্য। এছাড়া, লিস্টস পরিবর্তন করা যায়, যার মানে আপনি যদি একটি লিস্টের ভ্যালুগুলো ম্যানিপুলেট করতে চান, তবে আপনি সেটি করতে পারবেন।

টাপলস (Tuples)

টাপলস হলো এলিমেন্টের একটি অর্ডার্ড সিকোয়েন্স। লিস্টস থেকে আলাদা, যাইহোক, টাপলস ইমিউটেবল (immutable), সুতরাং আপনি একটি টাপলের কন্টেন্ট পরিবর্তন করতে পারবেন না। টাপলস একটি কমা-সেপারেটেড ভ্যালুর লিস্ট হিসেবে ডিক্লেয়ার করা হয় প্যারেনথেসিস (()) এর ভিতরে এনক্লোজ করে।

পাইথনে একটি টাপল-এর উদাহরণ:

desserts = ('Chocolate Cake', 'Toffee Brownie', Apple Pie')

এলিমেন্টগুলো একটি টাপলে যোগ বা রিমুভ করা যায়, কিন্তু একটি টাপলে সংরক্ষিত সঠিক ভ্যালুগুলো পরিবর্তন করা যায় না। এই ডেটা টাইপটি উপকারী যদি আপনার আইটেমের একটি লিস্ট রয়েছে যা আপনি সংরক্ষণ করতে চান, কিন্তু যা আপনি পরে পরিবর্তন করতে চান না।

ডিকশনারিজ (Dictionaries)

পাইথন ডিকশনারিজ হলো আইটেমের কালেকশন যা আনঅর্ডার্ড (unordered), ইন্ডেক্সড (indexed) এবং মিউটেবল (mutable)। এর মানে একটি ডিকশনারিতে আইটেমগুলোর কোনো স্পেসিফিক অর্ডার নেই, এবং তাদের নিজস্ব ইন্ডেক্স ভ্যালু (বা keys) রয়েছে যেগুলো ব্যবহার করা যায় ইনডিভিডুয়াল এলিমেন্ট রেফারেন্স করার জন্য। এছাড়া, একটি ডিকশনারির কন্টেন্ট পরিবর্তনযোগ্য।

ডিকশনারিজ কার্লি ব্রেসেস ({}) এর ভিতরে এনক্লোজ করা একটি ভ্যালুর লিস্ট হিসেবে ডিক্লেয়ার করা হয়।

ডিকশনারিজ প্রায়শই রিলেটেড ডেটা ধারণ করতে ব্যবহৃত হয়। বলুন আপনি একটি জুতা দোকান মালিক এবং আপনি আপনার ইনভেন্টরিতে জুতার ব্র্যান্ড নেম, জুতার নাম, এবং দাম সংরক্ষণ করতে চান। এখানে একটি ডিকশনারির উদাহরণ যা এই জুতাগুলোর একটি সংরক্ষণ করবে:

jordan_6s = { 'name': 'Jordan 6 Rings' 'price': 57.50, 'brand_name': 'Jordan' }

লক্ষ্য করুন আমাদের উপরের ডিকশনারিতে কলন (colon) রয়েছে। এটা কারণ আমাদের ডিকশনারিতে দুটি অংশ রয়েছে: কী (keys) এবং ভ্যালু (values)। উপরের উদাহরণে, আমাদের কীগুলো হলো name, price, এবং brand_name, এবং আমরা সেগুলো ব্যবহার করতে পারি একটি কী-এর ভ্যালু পেতে।

সুতরাং, আপনি যদি আপনার জর্ডান ৬ রিংসের দাম রিট্রিভ করতে চান, তবে আপনি নিচের কোড ব্যবহার করতে পারেন:

print(jordan_6s['price'])

আমাদের কোড রিটার্ন করে: 57.5। ডিকশনারিতে কী/ভ্যালু জোড়ার স্ট্রাকচারের পাইথনে বিস্তৃত অ্যাপ্লিকেশন রয়েছে, এবং আপনি যখন রিলেটেড ডেটা সংরক্ষণ করছেন তখন এটি উপকারী হতে পারে।

সেটস (Sets)

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

সেটস কমা দিয়ে সেপারেট করা ভ্যালুর একটি লিস্ট হিসেবে ডিফাইন করা হয় কার্লি ব্রেসেস ({}) এর ভিতরে এনক্লোজ করে।

সেটস পাইথনে স্পেসিফিক ম্যাথেমেটিক্যাল অপারেশন পারফর্ম করতে সাধারণত ব্যবহৃত হয় যেমন ইউনিয়ন (unions) বা ইন্টারসেকশন (intersections)। পাইথনে একটি সেট-এর উদাহরণ:

colors = {'Red', 'Orange', 'Yellow', 'Green'}

উপসংহার

পাইথনে অনেক বিল্ট-ইন ডেটা টাইপ রয়েছে যা স্পেসিফিক টাইপের ডেটা সংরক্ষণের জন্য ব্যবহার করা যায়। পাইথনে সবচেয়ে কমনলি ব্যবহৃত ডেটা টাইপগুলো হলো: স্ট্রিং, ইন্টিজার, ফ্লোট, লিস্ট, ডিকশনারি, সেট, এবং টাপল।

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

পাইথন টেকনোলজি ইন্ডাস্ট্রিতে একটি হাই-ডিমান্ড স্কিল। আজই ফ্রি Career Karma অ্যাপ ডাউনলোড করুন আমাদের এক্সপার্ট কোচদের সাথে কথা বলতে পাইথন শিখা কীভাবে আপনাকে টেক ক্যারিয়ারে ভাঙিņš করতে সাহায্য করতে পারে সেটি জানতে।

ত্রিভুজ No
  1. পাইথন न्यুমেরিক টাইপস (Numeric Types)

  2. Python-এ কোন ডেটা টাইপগুলো ইমিউটেবল?

  3. পাইথন ৩-এ স্ট্যান্ডার্ড ডেটা টাইপগুলো কী কী

  4. পাইথন ডেটা টাইপ ও কনভারশন মাস্টার করুন: একটি প্র্যাকটিক্যাল গাইড