🔍 ফাংশন (Function) কী?
ফাংশন হলো এমন একটি কোড ব্লক, যা নির্দিষ্ট কাজ সম্পন্ন করে এবং প্রয়োজনে বারবার ব্যবহার করা যায়।
অর্থাৎ, একবার ফাংশন লিখে রাখলে, পরে তা অনেক জায়গায় ডাকা (call) করে ব্যবহার করা যায়।
👉 উদাহরণস্বরূপ, যদি তুমি বারবার একই কোড ব্যবহার করতে চাও —
তাহলে সেটাকে ফাংশনের মধ্যে রাখো, এবং শুধু নাম ধরে ডাকো! 🔔
⚙️ ফাংশন ডিফাইন (Define) ও কল (Call) করা
পাইথনে ফাংশন তৈরি করতে ব্যবহার করা হয় def কীওয়ার্ড।
📘 উদাহরণ:
def greet():
print("Hello, Python Learner!")
# ফাংশন কল করা
greet()📤 আউটপুট:
Hello, Python Learner!🔡 ফাংশনে প্যারামিটার (Parameter) ব্যবহার
তুমি চাইলে ফাংশনে ইনপুট ভ্যালু (Parameter) পাঠাতে পারো।
📘 উদাহরণ:
def greet(name):
print("Hello,", name, "!")
greet("Rahim")
greet("Karim")📤 আউটপুট:
Hello, Rahim !
Hello, Karim !🔁 একাধিক প্যারামিটার
তুমি একাধিক ইনপুটও পাঠাতে পারো —
📘 উদাহরণ:
def add(a, b):
print("Sum =", a + b)
add(5, 10)
add(12, 8)📤 আউটপুট:
Sum = 15
Sum = 20🎯 return স্টেটমেন্ট
return দিয়ে কোনো ফাংশন থেকে মান ফেরত পাঠানো যায়।
এভাবে ফাংশন কোনো মান গণনা করে রিটার্ন করতে পারে।
📘 উদাহরণ:
def multiply(x, y):
return x * y
result = multiply(4, 5)
print("Result =", result)📤 আউটপুট:
Result = 20⚡ ডিফল্ট প্যারামিটার মান (Default Parameter Value)
যদি কোনো প্যারামিটার না পাঠানো হয়, তবে ডিফল্ট মান ব্যবহার করা যায়।
📘 উদাহরণ:
def greet(name="Guest"):
print("Welcome,", name)
greet("Rina")
greet()📤 আউটপুট:
Welcome, Rina
Welcome, Guest🔢 কীওয়ার্ড আর্গুমেন্ট (Keyword Arguments)
প্যারামিটারগুলিকে নাম দিয়ে মান পাঠানো যায়।
📘 উদাহরণ:
def student(name, age):
print("Name:", name)
print("Age:", age)
student(age=20, name="Sakib")📤 আউটপুট:
Name: Sakib
Age: 20🧮 *args এবং **kwargs (Variable Arguments)
যদি তুমি জানো না কতগুলো আর্গুমেন্ট পাঠানো হবে, তাহলে ব্যবহার করতে পারো —
*args→ টিউপল আকারে মান নেয়**kwargs→ ডিকশনারি আকারে মান নেয়
📘 উদাহরণ ১ (*args):
def total(*numbers):
print(sum(numbers))
total(5, 10, 15)
total(1, 2, 3, 4, 5)📤 আউটপুট:
30
15📘 উদাহরণ ২ (**kwargs):
def info(**data):
for key, value in data.items():
print(key, ":", value)
info(name="Rina", age=22, city="Dhaka")📤 আউটপুট:
name : Rina
age : 22
city : Dhaka🧠 ফাংশন থেকে ফাংশন কল (Nested Function)
একটি ফাংশনের ভিতর থেকে অন্য ফাংশন ডাকা যায়।
📘 উদাহরণ:
def outer():
print("This is the outer function.")
def inner():
print("This is the inner function.")
inner()
outer()📤 আউটপুট:
This is the outer function.
This is the inner function.💡 ফাংশনের সুবিধা
✅ কোড পুনঃব্যবহারযোগ্য (Reusable)
✅ কোড ছোট ও পরিষ্কার হয়
✅ ডিবাগ করা সহজ হয়
✅ প্রোগ্রাম মডুলার হয়
⚙️ অ্যানোনিমাস ফাংশন (Lambda Function)
ছোট ফাংশনের জন্য ব্যবহার হয় lambda কীওয়ার্ড।
📘 উদাহরণ:
square = lambda x: x * x
print(square(5))📤 আউটপুট:
25🧩 বাস্তব উদাহরণ
📘 উদাহরণ:
def check_even(num):
if num % 2 == 0:
return "Even"
else:
return "Odd"
for i in range(1, 6):
print(i, "is", check_even(i))📤 আউটপুট:
1 is Odd
2 is Even
3 is Odd
4 is Even
5 is Odd🏁 উপসংহার
এখন তুমি জানো —
🔹 ফাংশন কী এবং কেন দরকার
🔹 কিভাবে ফাংশন ডিফাইন, কল ও রিটার্ন করতে হয়
🔹 *args, **kwargs এবং lambda function এর ব্যবহার








