মূল content-এ যাও

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
strtext (string)"Dhaka", 'AI'
boolসত্য/মিথ্যা (boolean)True, False

কেন দরকার?

Data science-এ সবচেয়ে common bug-গুলোর একটা হলো ভুল type। CSV file থেকে data load করলে অনেক সময় সংখ্যাও text হিসেবে আসে — তখন গড় বের করতে গেলে error বা ভুল ফলাফল। Type বুঝলে এই সমস্যা সহজে ধরা যায়।

type() দিয়ে চেনা

main.py

Type অনুযায়ী আচরণ বদলায়

একই + চিহ্ন, কিন্তু type ভেদে কাজ আলাদা:

main.py

সংখ্যার ক্ষেত্রে + যোগ করে, কিন্তু text-এর ক্ষেত্রে জোড়া লাগায় (একে বলে concatenation)।

আর text আর সংখ্যা মেশালে:

main.py

TypeError — Python নিজে থেকে অনুমান করে না তুমি কী চাও। তোমাকে স্পষ্ট করে রূপান্তর করতে হবে।

Type Conversion

এক type থেকে আরেক type-এ রূপান্তরকে বলে type conversion বা casting:

main.py

খেয়াল করো: int(9.99) দেয় 9 — দশমিক অংশ কেটে ফেলে, round করে না।

bool আর Truthiness

True আর False হলো bool type। পরে conditions-এ এগুলো খুব কাজে লাগবে। মজার ব্যাপার হলো, যেকোনো মানকেই bool() দিয়ে True/False-এ রূপান্তর করা যায়:

main.py

নিয়মটা সহজ: শূন্য আর খালি জিনিস False, বাকি সব True।

Exercise

Exercise

Text থেকে সংখ্যা

+20 XP

ধরো একটা form থেকে বয়স এসেছে text হিসেবে: age_text = "23"।

age নামে একটা variable বানাও যেটায় এই বয়সটা int হিসেবে থাকবে। তারপর next_year variable-এ রাখো age + 1, এবং next_year print করো।

solution.py

Quiz

  1. Q1type(3.0) কী return করবে?
  2. Q2int("7.5") চালালে কী হবে?
  3. Q3int(9.99)-এর মান কত?
  4. Q4bool("") আর bool("0")-এর মান কী?
0/4 answered

Challenge

Challenge

Type report

+50 XP

নিচের চারটা variable দেওয়া আছে। প্রতিটার type-এর নাম আলাদা লাইনে print করো। Output হবে চার লাইনে: int, float, str, bool।

Type-এর নাম হাতে লিখে print করা যাবে না — type() থেকে বের করতে হবে।

solution.py

বাস্তবে কোথায় ব্যবহার হয়?

  • 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।