Module কী?
Python-এ Module হলো একটি .py ফাইল যেখানে functions, classes ও variables থাকে। Module ব্যবহার করে code-কে ছোট ছোট ফাইলে ভাগ করা যায় এবং পুনরায় ব্যবহার করা যায়। Python-এ হাজার হাজার built-in ও third-party module আছে।
import করার উপায়
| Syntax | কাজ | ব্যবহার |
|---|---|---|
import math | পুরো module import | math.sqrt(16) |
from math import sqrt | নির্দিষ্ট function import | sqrt(16) |
from math import * | সব কিছু import | sqrt(16) (⚠️ avoid!) |
import math as m | Alias দিয়ে import | m.sqrt(16) |
from math import sqrt as s | Function-এ alias | s(16) |
# পুরো module import
import math
print(math.pi) # 3.141592653589793
print(math.sqrt(144)) # 12.0
# নির্দিষ্ট function import
from math import sqrt, pow
print(sqrt(25)) # 5.0
print(pow(2, 10)) # 1024.0
# Alias দিয়ে import
import datetime as dt
today = dt.date.today()
print(today) # 2026-03-18
# from...import with alias
from collections import Counter as C
words = ["python", "java", "python", "python", "java"]
print(C(words)) # Counter({'python': 3, 'java': 2})
from module import *ব্যবহার করবেন না — naming conflict হতে পারে- import সবসময় ফাইলের শুরুতে রাখুন
- ক্রম: standard library → third-party → local modules
- বহুল ব্যবহৃত alias:
numpy as np,pandas as pd,matplotlib.pyplot as plt
Built-in Modules
Python-এর সাথে অনেক দরকারি module আগে থেকেই আসে — এগুলো Standard Library-র অংশ। আলাদা করে install করতে হয় না:
math Module
import math # মৌলিক গণিত print(math.sqrt(144)) # 12.0 — বর্গমূল print(math.pow(2, 8)) # 256.0 — ঘাত print(math.factorial(5)) # 120 — 5! print(math.ceil(4.2)) # 5 — উপরে পূর্ণসংখ্যা print(math.floor(4.9)) # 4 — নিচে পূর্ণসংখ্যা print(math.pi) # 3.141592653589793 print(math.e) # 2.718281828459045 # ত্রিকোণমিতি print(math.sin(math.radians(90))) # 1.0 print(math.log(100, 10)) # 2.0 — log base 10
random Module
import random # Random সংখ্যা print(random.random()) # 0.0 থেকে 1.0 এর মধ্যে float print(random.randint(1, 100)) # 1 থেকে 100 এর মধ্যে integer print(random.uniform(1.5, 9.5)) # 1.5 থেকে 9.5 এর মধ্যে float # Random পছন্দ colors = ["লাল", "নীল", "সবুজ", "হলুদ"] print(random.choice(colors)) # একটি random item print(random.sample(colors, 2)) # 2টি unique random items # List shuffle numbers = [1, 2, 3, 4, 5] random.shuffle(numbers) print(numbers) # [3, 1, 5, 2, 4] (random order)
| Module | কাজ | জনপ্রিয় Functions |
|---|---|---|
math | গণিত operations | sqrt(), ceil(), floor(), pi |
random | Random সংখ্যা তৈরি | randint(), choice(), shuffle() |
datetime | তারিখ ও সময় | date.today(), now(), timedelta() |
os | Operating system | listdir(), path.join(), getcwd() |
json | JSON ডেটা | dumps(), loads(), load() |
re | Regular expressions | search(), findall(), sub() |
collections | বিশেষ data structures | Counter(), defaultdict(), deque() |
pip ও Package Management
pip হলো Python-এর package manager — এটি দিয়ে third-party library install, update ও remove করা যায়। pip packages PyPI (Python Package Index) থেকে আসে।
# Terminal/Command Prompt-এ চালান: # Package install pip install requests pip install pandas numpy matplotlib # নির্দিষ্ট version install pip install requests==2.28.0 pip install "requests>=2.25,<3.0" # Package update pip install --upgrade requests # Package remove pip uninstall requests # Installed packages দেখা pip list pip show requests # একটি package-এর details # requirements.txt তৈরি ও ব্যবহার pip freeze > requirements.txt # সব packages save pip install -r requirements.txt # file থেকে install
"ILUF" = Install → List → Upgrade → Freeze
pip install = নতুন package আনো, pip list = কী কী আছে দেখো, pip install --upgrade = update করো, pip freeze = সব save করো।
মনে রাখুন: requirements.txt ফাইল সবসময় project-এ রাখুন — অন্যরা এক command-এ সব install করতে পারবে!
os Module
os module দিয়ে operating system-এর সাথে interaction করা যায় — ফাইল ও directory operations, path management, environment variables ইত্যাদি:
import os
# বর্তমান directory
print(os.getcwd()) # /home/user/projects
# Directory-র ফাইল তালিকা
files = os.listdir(".") # current directory
print(files) # ['main.py', 'data', 'README.md']
# Directory তৈরি
os.mkdir("new_folder") # একটি folder তৈরি
os.makedirs("a/b/c") # nested folders তৈরি
# ফাইল/folder আছে কিনা পরীক্ষা
print(os.path.exists("data.txt")) # True/False
print(os.path.isfile("data.txt")) # ফাইল কিনা?
print(os.path.isdir("my_folder")) # folder কিনা?
# Path join — OS অনুযায়ী সঠিক separator ব্যবহার করে
path = os.path.join("data", "files", "report.csv")
print(path) # data/files/report.csv (Linux/Mac)
# data\files\report.csv (Windows)
# ফাইলের তথ্য
print(os.path.getsize("data.txt")) # bytes-এ size
print(os.path.splitext("photo.jpg")) # ('photo', '.jpg')
print(os.path.basename("/home/data.txt"))# 'data.txt'
print(os.path.dirname("/home/data.txt")) # '/home'
| Function | কাজ | উদাহরণ |
|---|---|---|
os.getcwd() | বর্তমান directory | '/home/user' |
os.listdir(path) | ফাইল তালিকা | ['a.py', 'b.txt'] |
os.mkdir(name) | একটি folder তৈরি | folder তৈরি হয় |
os.makedirs(path) | Nested folders তৈরি | a/b/c তৈরি হয় |
os.remove(file) | ফাইল delete | ফাইল মুছে যায় |
os.path.join() | Path যোগ করা | 'data/file.csv' |
os.path.exists() | আছে কিনা | True / False |
datetime Module
datetime module দিয়ে তারিখ, সময়, সময়ের পার্থক্য ও formatting করা যায়:
from datetime import date, time, datetime, timedelta
# আজকের তারিখ
today = date.today()
print(today) # 2026-03-18
print(today.year) # 2026
print(today.month) # 3
print(today.day) # 18
print(today.weekday()) # 2 (0=সোম, 6=রবি)
# বর্তমান সময়
now = datetime.now()
print(now) # 2026-03-18 14:30:25.123456
# নির্দিষ্ট তারিখ তৈরি
birthday = date(2000, 5, 15)
independence = datetime(1971, 3, 26, 0, 0, 0)
# সময়ের পার্থক্য (timedelta)
future = today + timedelta(days=30)
print(future) # ৩০ দিন পরের তারিখ
age_days = (today - birthday).days
print(f"বয়স দিনে: {age_days}")
datetime Formatting
from datetime import datetime
now = datetime.now()
# datetime → string (strftime)
print(now.strftime("%d/%m/%Y")) # 18/03/2026
print(now.strftime("%B %d, %Y")) # March 18, 2026
print(now.strftime("%I:%M %p")) # 02:30 PM
print(now.strftime("%Y-%m-%d %H:%M")) # 2026-03-18 14:30
# string → datetime (strptime)
date_str = "25-12-2026"
parsed = datetime.strptime(date_str, "%d-%m-%Y")
print(parsed) # 2026-12-25 00:00:00
| Format Code | অর্থ | উদাহরণ |
|---|---|---|
%Y | পূর্ণ বছর | 2026 |
%m | মাস (01–12) | 03 |
%d | দিন (01–31) | 18 |
%H | ঘণ্টা 24-hour (00–23) | 14 |
%I | ঘণ্টা 12-hour (01–12) | 02 |
%M | মিনিট (00–59) | 30 |
%S | সেকেন্ড (00–59) | 25 |
%p | AM/PM | PM |
%B | মাসের পূর্ণ নাম | March |
%A | বারের পূর্ণ নাম | Wednesday |
strftime= string from time → datetime থেকে string তৈরি করেstrptime= string parse time → string থেকে datetime তৈরি করে- "f = format" (output), "p = parse" (input) — এভাবে মনে রাখুন!
Popular Third-party Libraries
Python-এর সবচেয়ে বড় শক্তি হলো এর বিশাল third-party library ecosystem। এখানে কিছু জনপ্রিয় library-র সংক্ষিপ্ত পরিচয়:
# requests — HTTP calls করা (API, web scraping)
import requests
response = requests.get("https://api.github.com")
print(response.status_code) # 200
print(response.json()) # JSON data as dict
# pandas — Data analysis ও manipulation
import pandas as pd
df = pd.DataFrame({
"নাম": ["রহিম", "করিম", "জামাল"],
"বয়স": [25, 30, 22],
"শহর": ["ঢাকা", "চট্টগ্রাম", "রাজশাহী"]
})
print(df)
print(df["বয়স"].mean()) # গড় বয়স: 25.67
# numpy — Numerical computing
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr * 2) # [2, 4, 6, 8, 10]
print(np.mean(arr)) # 3.0
# flask — Web development (micro-framework)
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "স্বাগতম!"
| Library | ক্যাটাগরি | কাজ | Install |
|---|---|---|---|
requests | HTTP/API | Web API call, data fetching | pip install requests |
pandas | Data Analysis | CSV/Excel পড়া, data manipulation | pip install pandas |
numpy | Numerical | Array operations, গণিত | pip install numpy |
matplotlib | Visualization | Chart ও graph তৈরি | pip install matplotlib |
flask | Web Framework | Web application তৈরি | pip install flask |
django | Web Framework | Full-stack web dev | pip install django |
beautifulsoup4 | Web Scraping | HTML parse করা | pip install beautifulsoup4 |
pillow | Image | ছবি edit ও process | pip install pillow |
"Python-এ সব আছে!"
Data Analysis → pandas, numpy | Visualization → matplotlib, seaborn | Web → flask, django | API → requests | ML → scikit-learn, tensorflow
নিয়ম: নতুন কিছু করতে চাইলে প্রথমে PyPI-তে search করুন — সম্ভবত কেউ আগেই library তৈরি করে রেখেছে!