Python-এ বেশ কিছু বিল্ট-ইন ডেটা টাইপ আছে। এই পাঠে সহজগুলো বিস্তারিতভাবে দেখানো হবে; কালেকশন টাইপগুলো (list, tuple, dict, set) শীঘ্রই নিজেদের আলাদা পাঠ পাবে, কারণ প্রতিটির নিজস্ব একটি পাঠ পাওয়ার মতো যথেষ্ট বিষয় আছে।
| টাইপ | কী ধরে রাখে | উদাহরণ |
|---|---|---|
| str | টেক্সট | "Hello" |
| int | পূর্ণ সংখ্যা | 42 |
| float | দশমিক সংখ্যা | 3.14 |
| bool | True বা False | True |
| NoneType | একেবারেই কোনো মান নেই | None |
এখানে ক্যাপিটালাইজেশন গুরুত্বপূর্ণ
Python-এ True, False, আর None-এর প্রথম অক্ষর বড় হাতের। অনেক অন্য ভাষা এর বদলে lowercase true/false/null ব্যবহার করে, তাই অন্য ভাষা থেকে আসা প্রায় প্রত্যেককে এটি অন্তত একবার হোঁচট খাওয়ায়।
x = 42
print(type(x)) # <class 'int'>
print(isinstance(x, int)) # True| টাইপ | ক্রমানুসারে সাজানো? | পরিবর্তনযোগ্য? | ডুপ্লিকেট অনুমোদিত? |
|---|---|---|---|
| list | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| tuple | হ্যাঁ | না | হ্যাঁ |
| dict | হ্যাঁ (insertion order) | হ্যাঁ | Key অবশ্যই ইউনিক হতে হবে |
| set | না | হ্যাঁ | না |
এদের প্রতিটি শীঘ্রই নিজের পাঠ পাবে। এখনকার জন্য, লক্ষ্য করার মূল বিষয়টি হলো Python-এ সত্যিকারভাবে ভিন্ন নিয়মের চারটি আলাদা বিল্ট-ইন কালেকশন টাইপ আছে — সঠিকটা বেছে নেওয়া গুরুত্বপূর্ণ।
টাইপ না মিললে Python চুপচাপ অনুমান করার বদলে একটি এরর তোলে — এটা ইচ্ছাকৃত, কোনো সীমাবদ্ধতা নয়:
result = "5" + 3
# TypeError: can only concatenate str (not "int") to strপরের পাঠ, Type Conversion, ইচ্ছাকৃতভাবে টাইপের মধ্যে রূপান্তর করা দেখাবে — যা এখানে বাধ্যতামূলক, Python এটা আপনার জন্য করবে না।
None, False, আর 0 একই জিনিস নয়
None, False, আর 0 তিনটি ভিন্ন মান, যদিও একটি if চেকে তিনটিই falsy। None মানে "কোনো মান কখনো সেট করা হয়নি," False মানে "একটি বুলিয়ান, নির্দিষ্টভাবে false," আর 0 মানে "সংখ্যা শূন্য।" এদের গুলিয়ে ফেলা — উদাহরণস্বরূপ, "এখনও সেট করা হয়নি"-র জন্য 0-কে একটি placeholder হিসেবে ব্যবহার করা — পরে বাগ খুঁজে বের করা কঠিন করে তোলে, কারণ অনেক কোডে 0 একটি সম্পূর্ণ বৈধ, অর্থবহ সংখ্যা।