Python for AI/Python শুরু/Lesson 03
Data Types
int, float, str, bool — প্রতিটা মানের একটা type আছে। type() দিয়ে চেনো, আর এক type থেকে আরেক type-এ রূপান্তর করো।
- সময়
- 18 মিনিট
- Exercise
- 1
- Challenge
- 1
- Quiz
- 4 প্রশ্ন
সহজ ভাষায়
প্রতিটা মানের একটা type বা ধরন আছে। "Karim" একটা text, 21 একটা পূর্ণসংখ্যা, 3.75 একটা দশমিক সংখ্যা। Python-কে জানতে হয় কোন মান কী ধরনের, কারণ ধরন অনুযায়ী কী করা যাবে সেটা আলাদা।
শুরুতে চারটা type সবচেয়ে গুরুত্বপূর্ণ:
| Type | মানে | উদাহরণ |
|---|---|---|
int | পূর্ণসংখ্যা (integer) | 21, -5, 0 |
float | দশমিক সংখ্যা | 3.75, 0.001, -2.0 |
str | text (string) | "Dhaka", 'AI' |
bool | সত্য/মিথ্যা (boolean) | True, False |
কেন দরকার?
Data science-এ সবচেয়ে common bug-গুলোর একটা হলো ভুল type। CSV file থেকে data load করলে অনেক সময় সংখ্যাও text হিসেবে আসে — তখন গড় বের করতে গেলে error বা ভুল ফলাফল। Type বুঝলে এই সমস্যা সহজে ধরা যায়।
type() দিয়ে চেনা
Type অনুযায়ী আচরণ বদলায়
একই + চিহ্ন, কিন্তু type ভেদে কাজ আলাদা:
সংখ্যার ক্ষেত্রে + যোগ করে, কিন্তু text-এর ক্ষেত্রে জোড়া লাগায় (একে বলে concatenation)।
আর text আর সংখ্যা মেশালে:
TypeError — Python নিজে থেকে অনুমান করে না তুমি কী চাও। তোমাকে স্পষ্ট করে রূপান্তর করতে হবে।
Type Conversion
এক type থেকে আরেক type-এ রূপান্তরকে বলে type conversion বা casting:
খেয়াল করো: int(9.99) দেয় 9 — দশমিক অংশ কেটে ফেলে, round করে না।
bool আর Truthiness
True আর False হলো bool type। পরে conditions-এ এগুলো খুব কাজে লাগবে। মজার ব্যাপার হলো, যেকোনো মানকেই bool() দিয়ে True/False-এ রূপান্তর করা যায়:
নিয়মটা সহজ: শূন্য আর খালি জিনিস False, বাকি সব True।
Exercise
Exercise
Text থেকে সংখ্যা
ধরো একটা form থেকে বয়স এসেছে text হিসেবে: age_text = "23"।
age নামে একটা variable বানাও যেটায় এই বয়সটা int হিসেবে থাকবে। তারপর next_year variable-এ রাখো age + 1, এবং next_year print করো।
Quiz
Challenge
Challenge
Type report
নিচের চারটা variable দেওয়া আছে। প্রতিটার type-এর নাম আলাদা লাইনে print করো। Output হবে চার লাইনে: int, float, str, bool।
Type-এর নাম হাতে লিখে print করা যাবে না — type() থেকে বের করতে হবে।
বাস্তবে কোথায় ব্যবহার হয়?
- Pandas-এ data load করার পর প্রথম কাজগুলোর একটা হলো
df.dtypesদেখে প্রতিটা column-এর type চেক করা। - ML model-এ input সাধারণত
floatহতে হয়; label অনেক সময়int। - Memory বাঁচাতে বড় dataset-এ
float64-এর বদলেfloat32ব্যবহার করা হয় — NumPy lesson-এ এটা দেখব।
Interview প্রশ্ন
- Beginner: Python-এ mutable আর immutable type কী?
intআরstrকোনটা? - Intermediate:
0.1 + 0.2 == 0.3কেনFalseদেয়? (Float binary-তে হুবহু represent হয় না — floating-point precision।) - Advanced: Dynamic typing-এর সুবিধা-অসুবিধা কী? বড় codebase-এ type hints কেন ব্যবহার করা হয়?
এরপর কী?
Type চিনলাম। এখন এগুলো দিয়ে হিসাব আর তুলনা করব — পরের lesson Operators।