Hot Post

6/recent/ticker-posts

Header Ads Widget

Python শেখার সিরিজ — পর্ব ২ / ২০ (Variables ও Data Types)

🐍 Python শেখার সিরিজ — পর্ব ২ / ২০
python in bangla

Variables ও Data Types
Python-এ তথ্য সংরক্ষণের পদ্ধতি, ডেটার বিভিন্ন ধরন এবং ব্যবহারকারীর কাছ থেকে Input নেওয়া — সহজ বাংলায়
⏱ পড়তে সময় ~১৪ মিনিট 🎯 Beginner Friendly 🐍 Python 3.x

গত পর্বে আমরা Python ইনস্টল করেছি এবং প্রথম প্রোগ্রাম লিখেছি। এই পর্বে আমরা Python-এর সবচেয়ে গুরুত্বপূর্ণ দুটি ধারণা শিখব — Variable এবং Data Type। এগুলো না জানলে Python-এ সামনে এগোনো কঠিন।

📦 Variable কী? — সহজ উদাহরণে বোঝো

ধরো তোমার কাছে একটি বাক্স আছে। সেই বাক্সের গায়ে লেখা আছে "নাম"। বাক্সের ভেতরে রাখলে "রাহিম"। এখন যখনই কেউ জিজ্ঞেস করবে "নাম বাক্সে কী আছে?" — উত্তর হবে "রাহিম"

প্রোগ্রামিং-এ Variable হলো ঠিক এই বাক্সের মতো। Variable হলো একটি নামযুক্ত জায়গা যেখানে তথ্য সংরক্ষণ করা হয়। পরে সেই নাম ব্যবহার করে ওই তথ্যটি যেকোনো জায়গায় ব্যবহার করা যায়।

Python
naam   = "রাহিম"
boyos  = 20
shahor = "ঢাকা"

print(naam)
print(boyos)
print(shahor)
✔ আউটপুট
রাহিম
20
ঢাকা

Variable-এর মান যেকোনো সময় পরিবর্তন করা যায়। এজন্যই এর নাম Variable (পরিবর্তনশীল):

Python
score = 0
print(score)   # 0

score = 50
print(score)   # 50

score = 100
print(score)   # 100
✔ আউটপুট
0
50
100
💡

Python-এ Variable তৈরিতে আলাদা কোনো keyword লাগে না (C বা Java-তে int, String লিখতে হয়)। শুধু নাম দিয়ে মান assign করলেই Variable তৈরি হয়ে যায়।

📏 Variable তৈরির নিয়মকানুন
নিয়ম সঠিক ✅ ভুল ❌
অক্ষর, সংখ্যা বা _ দিয়ে গঠিত হবে naam1, my_score naam#1
সংখ্যা দিয়ে শুরু করা যাবে না score1 1score
Space ব্যবহার করা যাবে না my_name my name
Reserved Keywords ব্যবহার করা যাবে না my_if if, for
Case Sensitive — বড়/ছোট পার্থক্য আছে naam naamNaam
নামকরণের ভালো অভ্যাস (snake_case)
Python
# ✅ ভালো নাম (snake_case)
student_name   = "করিম"
total_marks    = 450
pass_percentage= 72.5

# ❌ খারাপ নাম (বোঝা কঠিন)
x = "করিম"
y = 450

টিপ: Variable-এর নাম এমন দাও যাতে পড়লেই বোঝা যায় সেটা কী ধরনের তথ্য রাখছে। x, y, a এই ধরনের নাম এড়িয়ে চলো।

🗂️ Python-এর ৫টি প্রধান Data Type

Variable-এ বিভিন্ন ধরনের তথ্য রাখা যায়। তথ্যের ধরনকে বলা হয় Data Type

🔢
Integer (int)

পূর্ণ সংখ্যা। যেমন: 10, -5, 1000

🔣
Float (float)

দশমিক সংখ্যা। যেমন: 3.14, -0.5

📝
String (str)

লেখা বা টেক্সট। যেমন: "রাহিম"

✔️
Boolean (bool)

শুধু: True বা False

🚫
NoneType

কিছু নেই। শুধু: None

Python — সব Data Type একসাথে
boyos      = 25          # int
height     = 5.7         # float
naam       = "সালমা"     # str
is_student = True        # bool
email      = None        # NoneType

print(boyos, height, naam, is_student, email)
✔ আউটপুট
25 5.7 সালমা True None
🔢 Integer ও Float — সংখ্যার দুই রকম
Integer (int) — পূর্ণ সংখ্যা
Python
students    = 45
temperature = -3

print(students + 10)   # 55
print(students * 2)    # 90
print(students / 5)    # 9.0  (ভাগে Float হয়)
print(students // 5)   # 9    (পূর্ণ সংখ্যায় ভাগ)
print(students % 4)    # 1    (ভাগশেষ)
✔ আউটপুট
55
90
9.0
9
1
Float — দশমিক সংখ্যা
Python
pi    = 3.14159
price = 199.99

print(price * 3)          # 599.97
print(round(pi, 2))      # 3.14
✔ আউটপুট
599.97
3.14
⚠️

5/2 লিখলে Python-এ ফলাফল 2.5 (Float)। পূর্ণ সংখ্যার ভাগ চাইলে 5//2 লেখো — ফলাফল হবে 2

📝 String — লেখা বা Text

Single quotes বা Double quotes দিয়ে ঘেরা যেকোনো লেখাই String। নাম, ঠিকানা, বার্তা — সব লেখাই String।

Python
name1   = 'রাহেলা'          # Single quote
name2   = "করিম উদ্দিন"    # Double quote
message = """এটি
একটি
Multi-line String"""

print(name1)
print(name2)
print(message)
✔ আউটপুট
রাহেলা
করিম উদ্দিন
এটি
একটি
Multi-line String
f-string — সবচেয়ে আধুনিক পদ্ধতি
Python
first_name = "আবু"
last_name  = "বকর"
boyos      = 22

# + দিয়ে জোড়া লাগানো
full_name = first_name + " " + last_name
print(full_name)

# f-string — সবচেয়ে সুবিধাজনক
print(f"আমার নাম {full_name}, বয়স {boyos}")
✔ আউটপুট
আবু বকর
আমার নাম আবু বকর, বয়স 22
দরকারি String Functions
Python
text = "Hello Python"

print(len(text))                       # 12
print(text.upper())                    # HELLO PYTHON
print(text.lower())                    # hello python
print(text.replace("Python", "World")) # Hello World
print(text[0])                          # H
print(text[6:])                         # Python
✔ আউটপুট
12
HELLO PYTHON
hello python
Hello World
H
Python
✔️ Boolean — সত্য নাকি মিথ্যা?

Boolean Data Type-এ শুধু দুটি মান — True (সত্য) অথবা False (মিথ্যা)।

⚠️

Python-এ প্রথম অক্ষর বড় হাতে লিখতে হয় — True এবং False। ছোট হাতে লিখলে Error আসবে।

Python
is_logged_in = True
is_admin     = False

print(is_logged_in)    # True
print(is_admin)        # False

# তুলনা করলে Boolean ফলাফল আসে
print(10 > 5)           # True
print(10 == 20)         # False
print(3 != 5)           # True
✔ আউটপুট
True
False
True
False
True
🚫 None Type — কিছুই নেই!

None হলো Python-এর বিশেষ মান যার অর্থ "কিছু নেই" বা "এখনো জানা নেই"

Python
phone_number = None   # এখনো জানা নেই
result       = None   # এখনো কোনো ফলাফল নেই

print(phone_number)            # None
print(phone_number is None)  # True
✔ আউটপুট
None
True
🔍 type() — ডেটার ধরন জানো

কোনো Variable-এ কী ধরনের Data আছে সেটা জানতে type() ফাংশন ব্যবহার করো।

Python
a = 10
b = 3.14
c = "Python"
d = True
e = None

print(type(a))   # <class 'int'>
print(type(b))   # <class 'float'>
print(type(c))   # <class 'str'>
print(type(d))   # <class 'bool'>
print(type(e))   # <class 'NoneType'>
✔ আউটপুট
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
<class 'NoneType'>
⌨️ input() — ব্যবহারকারীর কাছ থেকে তথ্য নাও

একটি সত্যিকারের প্রোগ্রামে ব্যবহারকারী নিজে তথ্য দেন। সেজন্য ব্যবহার হয় input() ফাংশন।

Python — পরিচয় প্রোগ্রাম
naam   = input("তোমার নাম: ")
shahor = input("তুমি কোন শহরে থাকো: ")

print("─────────────────")
print(f"নাম   : {naam}")
print(f"শহর  : {shahor}")
print("─────────────────")
✔ আউটপুট
তোমার নাম: সালমা
তুমি কোন শহরে থাকো: চট্টগ্রাম
─────────────────
নাম   : সালমা
শহর  : চট্টগ্রাম
─────────────────
⚠️

গুরুত্বপূর্ণ: input() সবসময় String হিসেবে তথ্য নেয়। সংখ্যা নিলেও সেটা String হিসেবে আসে। তাই গণনা করতে হলে Type Conversion করতে হবে।

🔄 Type Conversion — ডেটার ধরন পরিবর্তন
ফাংশনকাজউদাহরণ
int()Integer-এ রূপান্তরint("25")25
float()Float-এ রূপান্তরfloat("3.14")3.14
str()String-এ রূপান্তরstr(100)"100"
bool()Boolean-এ রূপান্তরbool(0)False
বাস্তব উদাহরণ — সরল ক্যালকুলেটর
Python — সরল ক্যালকুলেটর
print("=== সরল ক্যালকুলেটর ===")

num1 = float(input("প্রথম সংখ্যা: "))
num2 = float(input("দ্বিতীয় সংখ্যা: "))

print(f"যোগ    : {num1 + num2}")
print(f"বিয়োগ : {num1 - num2}")
print(f"গুণ    : {num1 * num2}")
print(f"ভাগ   : {num1 / num2:.2f}")
✔ আউটপুট
=== সরল ক্যালকুলেটর ===
প্রথম সংখ্যা: 10
দ্বিতীয় সংখ্যা: 3
যোগ    : 13.0
বিয়োগ : 7.0
গুণ    : 30.0
ভাগ   : 3.33
⚡ Multiple Assignment ও Constants
Python
# একই মান তিনটি Variable-এ
x = y = z = 0
print(x, y, z)              # 0 0 0

# আলাদা মান একসাথে assign
naam, boyos, shahor = "রাহিম", 25, "ঢাকা"
print(naam, boyos, shahor)

# দুটি Variable-এর মান অদলবদল
a, b = 10, 20
a, b = b, a
print(a, b)                  # 20 10

# Constants (বড় হাতে Convention)
PI           = 3.14159
WEBSITE_NAME = "esbangla.com"
print(PI, WEBSITE_NAME)
✔ আউটপুট
0 0 0
রাহিম 25 ঢাকা
20 10
3.14159 esbangla.com
📚 এই পর্বে আমরা যা শিখলাম
  • Variable কী এবং কীভাবে তৈরি করতে হয়
  • Variable নামকরণের নিয়ম ও snake_case Convention
  • Python-এর ৫টি Data Type: int, float, str, bool, None
  • Integer ও Float-এর পার্থক্য এবং গাণিতিক অপারেশন
  • String তৈরি, জোড়া লাগানো এবং f-string ব্যবহার
  • type() ফাংশন দিয়ে Data Type যাচাই
  • input() দিয়ে ব্যবহারকারীর কাছ থেকে তথ্য নেওয়া
  • Type Conversion: int(), float(), str()
  • Multiple Assignment এবং Constants
🏋️ নিজে চেষ্টা করো
  1. পরিচয় প্রোগ্রাম: নাম, বয়স, শহর ও পছন্দের রঙ input নিয়ে সুন্দরভাবে প্রিন্ট করো
  2. BMI Calculator: উচ্চতা (মিটার) ও ওজন (কেজি) নিয়ে BMI বের করো। সূত্র: ওজন ÷ (উচ্চতা × উচ্চতা)
  3. type() পরীক্ষা: ৫টি ভিন্ন Variable তৈরি করো এবং প্রতিটির type() প্রিন্ট করো
  4. টাকার হিসাব: টাকার পরিমাণ নিয়ে ডলারে রূপান্তর করো (১ ডলার = ১১০ টাকা ধরো)
  5. বছর হিসাব: জন্ম সাল নিয়ে বয়স বের করো (বর্তমান বছর: ২০২৬)
⏭️ পরের পর্বে কী থাকছে? — পর্ব ৩: Operators ও Expressions
  • Arithmetic, Comparison ও Logical Operators
  • Assignment Operators (+=, -=, *=)
  • Operator Precedence — কোনটি আগে হিসাব হয়?
  • Practical উদাহরণ দিয়ে সব Operator-এর ব্যবহার

Post a Comment

0 Comments