📥 ১. ইনপুট ও আউটপুট (Input/Output)
ইনপুট নেওয়া
name = input("আপনার নাম লিখুন: ")
age = int(input("বয়স: "))
price = float(input("মূল্য: "))
ব্যাখ্যা: input() সবসময় স্ট্রিং রিটার্ন করে। সংখ্যা হিসেবে ব্যবহার করতে int() বা float() দিয়ে রূপান্তর করতে হবে।
আউটপুট দেখানো
print("হ্যালো বিশ্ব")
print("নাম:", name, "বয়স:", age)
print(f"আমার নাম {name} এবং বয়স {age}")
print("নাম: {} বয়স: {}".format(name, age))
print("পাই এর মান %.2f" % 3.14159)
💡 পরামর্শ: Python 3.6+ এ f-string সবচেয়ে দ্রুত ও পড়তে সহজ।
ভিডিও টাইটেল
ভিডিওর বিবরণ এখানে দিতে হবে। এই টেক্সট যত বড় হবে,
বক্সের সাইজ তত বাড়বে। ভিডিওর সাথে সম্পর্কিত তথ্য এখানে দেখানো হবে।
📦 ২. ভেরিয়েবল ও ডেটা টাইপ
name = "রাহুল"
age = 25
price = 99.99
is_valid = True
fruits = ["আপেল", "কমলা", "আম"]
coordinates = (10, 20)
unique_nums = {1, 2, 3}
person = {"name": "রাহুল", "age": 25}
| ডেটা টাইপ |
উদাহরণ |
বৈশিষ্ট্য |
int |
x = 10 |
পূর্ণসংখ্যা, সীমা নেই |
float |
x = 10.5 |
দশমিক সংখ্যা |
str |
x = "হ্যালো" |
ইউনিকোড স্ট্রিং |
bool |
x = True |
True বা False |
list |
[1, 2, 3] |
অর্ডার্ড, পরিবর্তনযোগ্য |
tuple |
(1, 2, 3) |
অর্ডার্ড, অপরিবর্তনযোগ্য |
dict |
{"a": 1} |
কী-ভ্যালু পেয়ার |
set |
{1, 2, 3} |
ইউনিক, অনর্ডার্ড |
🔀 ৩. অপারেটর (Operators)
গাণিতিক অপারেটর
| অপারেটর | নাম | উদাহরণ | ফলাফল |
| + | যোগ | 5 + 3 | 8 |
| - | বিয়োগ | 5 - 3 | 2 |
| * | গুণ | 5 * 3 | 15 |
| / | ভাগ (ফ্লোট) | 5 / 2 | 2.5 |
| // | ভাগ (পূর্ণসংখ্যা) | 5 // 2 | 2 |
| % | ভাগশেষ | 5 % 2 | 1 |
| ** | ঘাত | 2 ** 3 | 8 |
তুলনামূলক অপারেটর
x == y
x != y
x > y
x < y
x >= y
x <= y
লজিক্যাল অপারেটর
x > 0 and x < 10
x < 0 or x > 10
not (x > 0)
অ্যাসাইনমেন্ট অপারেটর
x = 5
x += 3
x -= 3
x *= 3
x /= 3
x //= 3
x %= 3
x **= 3
🛤️ ৪. শর্তসাপেক্ষ বিবৃতি (Conditional Statements)
if-elif-else
if age >= 18:
print("প্রাপ্তবয়স্ক")
elif age == 18:
print("ঠিক ১৮")
else:
print("অপ্রাপ্তবয়স্ক")
status = "প্রাপ্তবয়স্ক" if age >= 18 else "অপ্রাপ্তবয়স্ক"
নেস্টেড শর্ত
if age >= 18:
if has_id:
print("প্রবেশাধিকার আছে")
else:
print("আইডি প্রয়োজন")
else:
print("প্রবেশ নিষেধ")
⚠️ Indentation : Python-এ ইন্ডেন্টেশন (4টি স্পেস বা ট্যাব) বাধ্যতামূলক। ভুল ইন্ডেন্টেশনে এরর হবে।
🔄 ৫. লুপ (Loops)
for লুপ
for i in range(5):
print(i)
for i in range(1, 6):
print(i)
for i in range(0, 10, 2):
print(i)
fruits = ["আপেল", "কমলা", "আম"]
for fruit in fruits:
print(fruit)
for index, fruit in enumerate(fruits, 1):
print(f"{index}. {fruit}")
while লুপ
count = 0
while count < 5:
print(count)
count += 1
while count < 3:
print(count)
count += 1
else:
print("লুপ শেষ")
লুপ নিয়ন্ত্রণ
for num in range(10):
if num == 5:
break
if num == 2:
continue
print(num)
for i in range(5):
if i == 3:
pass
print(i)
⚙️ ৬. ফাংশন (Functions)
সাধারণ ফাংশন
def greet(name):
"""এটি একটি ডকস্ট্রিং - ফাংশনের বর্ণনা"""
return f"হ্যালো {name}!"
message = greet("রাহুল")
print(message)
ডিফল্ট প্যারামিটার
def power(base, exponent=2):
return base ** exponent
print(power(3))
print(power(2, 3))
*args ও **kwargs
def total(*numbers):
return sum(numbers)
print(total(1, 2, 3, 4))
def info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
info(name="রাহুল", age=25, city="ঢাকা")
ল্যাম্বডা ফাংশন
square = lambda x: x ** 2
print(square(5))
numbers = [1, 2, 3, 4]
squared = list(map(lambda x: x ** 2, numbers))
📋 ৭. লিস্ট কম্প্রিহেনশন (List Comprehension)
squares = []
for x in range(5):
squares.append(x ** 2)
squares = [x ** 2 for x in range(5)]
evens = [x for x in range(10) if x % 2 == 0]
labels = ["জোড়" if x % 2 == 0 else "বিজোড়" for x in range(5)]
matrix = [[i*j for j in range(1, 4)] for i in range(1, 4)]
📁 ৮. ফাইল হ্যান্ডলিং
ফাইল পড়া
with open("file.txt", "r", encoding="utf-8") as f:
content = f.read()
with open("file.txt", "r", encoding="utf-8") as f:
for line in f:
print(line.strip())
with open("file.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
ফাইল লেখা
with open("file.txt", "w", encoding="utf-8") as f:
f.write("হ্যালো বিশ্ব!\n")
f.write("দ্বিতীয় লাইন")
with open("file.txt", "a", encoding="utf-8") as f:
f.write("\nনতুন লাইন")
| মোড |
বর্ণনা |
"r" |
পড়া (ডিফল্ট), ফাইল না থাকলে এরর |
"w" |
লেখা, ফাইল থাকলে মুছে নতুন করে |
"a" |
যোগ করা, ফাইল না থাকলে তৈরি করে |
"x" |
এক্সক্লুসিভ তৈরি, ফাইল থাকলে এরর |
"b" |
বাইনারি মোড (ছবি, ভিডিও ইত্যাদি) |
💡 পরামর্শ: সবসময় with স্টেটমেন্ট ব্যবহার করুন। এটি ফাইল স্বয়ংক্রিয়ভাবে বন্ধ করে দেয়, এমনকি এরর হলেও।
⚠️ ৯. ত্রুটি হ্যান্ডলিং (Error Handling)
try:
num = int(input("সংখ্যা দিন: "))
result = 10 / num
print(result)
except ValueError:
print("ভুল! সংখ্যা দিন।")
except ZeroDivisionError:
print("ভুল! শূন্য দিয়ে ভাগ করা যায় না।")
except Exception as e:
print(f"অজানা ত্রুটি: {e}")
else:
print("সফলভাবে সম্পন্ন!")
finally:
print("এটি সবসময় চলবে")
নিজের Exceptioন তৈরি
class InsufficientBalanceError(Exception):
pass
def withdraw(amount):
if amount > balance:
raise InsufficientBalanceError("অপর্যাপ্ত টাকা")
return balance - amount
🏗️ ১০. ক্লাস ও অবজেক্ট (OOP)
বেসিক ক্লাস
class Person:
species = "Homo sapiens"
def __init__(self, name, age):
self.name = name
self._age = age
def introduce(self):
return f"আমি {self.name}, বয়স {self._age}"
def __str__(self):
return self.introduce()
p1 = Person("রাহুল", 25)
print(p1.introduce())
print(p1)
ইনহেরিটেন্স (উত্তরাধিকার)
class Student(Person):
def __init__(self, name, age, student_id):
super().__init__(name, age)
self.student_id = student_id
def introduce(self):
return f"{super().introduce()}, আইডি: {self.student_id}"
s1 = Student("সুমন", 20, "S001")
print(s1.introduce())
📦 ১১. মডিউল ও প্যাকেজ
import math
print(math.sqrt(16))
from math import sqrt, pow
print(sqrt(16))
import numpy as np
import pandas as pd
from math import *
import mymodule
from mypackage import submodule
🔤 ১২. স্ট্রিং ফরম্যাটিং
name = "রাহুল"
age = 25
pi = 3.14159
print(f"নাম: {name}, বয়স: {age}")
print(f"পাই: {pi:.2f}")
print(f"বড় হাতে: {name.upper()}")
print("নাম: {}, বয়স: {}".format(name, age))
print("নাম: {n}, বয়স: {a}".format(n=name, a=age))
print("নাম: %s, বয়স: %d" % (name, age))
🛠️ ১৩. ইউটিলিটি সিনট্যাক্স
টার্নারি অপারেটর
status = "পাস" if marks >= 40 else "ফেল"
মাল্টিপল অ্যাসাইনমেন্ট
a, b, c = 1, 2, 3
a, b = b, a
first, *rest = [1, 2, 3, 4, 5]
জেনারেটর এক্সপ্রেশন
squares = [x**2 for x in range(1000000)]
squares_gen = (x**2 for x in range(1000000))
for num in squares_gen:
print(num)
ডিকশনারি কম্প্রিহেনশন
squares_dict = {x: x**2 for x in range(5)}
সেট কম্প্রিহেনশন
squares_set = {x**2 for x in range(10)}
📌 মনে রাখুন:
- Python কেস-সেনসিটিভ (Name ≠ name)
- ইন্ডেন্টেশন বাধ্যতামূলক (4 স্পেস স্ট্যান্ডার্ড)
- কোলন (:) শর্ত ও লুপের পরে বাধ্যতামূলক
- ভেরিয়েবল ডিক্লেয়ার করতে হলে অবশ্যই মান দিতে হবে
শুভ কোডিং! 🚀
এই গাইডটি Python 3.x এর জন্য প্রযোজ্য
© ২০২৫ | বাংলা Python রেফারেন্স